检查用户输入信息是否完整(vb.net实现)
机房收费系统中。在将用户输入的信息封装到实体中作为參数传到B层之前,总要对用户输入的信息进行检查。我将这种检查分为两类:
- 合法性检查
- 完整性检查
所谓合法性检查,就是用户输入的信息是否格式正确,或者是否为规定的数字或字符。而完整性检查,则是用户输入的信息是否完整,是否有漏填的。
这里我仅仅介绍一下自己是怎样实现用户输入信息的完整性检查的。
思路:
由于凡是须要用户输入信息的窗口,都须要进行完整性检查。
而这个功能的实现仅仅须要写一个函数就可以。这个函数能够为多个窗口调用。所以将它写到模块中。
最開始的时候。并没有直接写代码,而是写凝视。凝视内容为:
这个函数的參数为一个实例化的窗口,返回值为Boolean值
- 先推断窗口中的控件是否为TextBox或ComboBox
- 假设是这两类控件,就推断它们的Text属性是否为空
- 假设为空,弹出消息框提示,返回False
- 假设不为空,返回True
实现:
Imports System.Windows.Forms
''' <summary>
''' 检查用户输入是否完整,是否有漏填的
''' </summary>
''' <returns></returns>Boolean值
''' <remarks></remarks>
Function CheckIntegrity(ByVal myfrm As Windows.Forms.Form) As Boolean Dim i As Integer For i = 0 To myfrm.Controls.Count - 1
If TypeOf myfrm.Controls.Item(i) Is ComboBox Or TypeOf myfrm.Controls.Item(i) Is TextBox Then If Trim(myfrm.Controls.Item(i).Text) = "" Then
MsgBox("请检查您的输入是否完整!", MsgBoxStyle.Information, "温馨提示")
myfrm.Controls.Item(i).Focus()
Return False
Exit Function
End If End If
Next Return True End Function
感想:
最開始的时候想用myfrm.Container.Components.Item(i).GetType.ToString()="System.Windows.Forms.TextBox",可是Components.Item(i)没有Text属性,所以后来用到了Controls,用myfrm.Controls.Item(i).GetType.ToString()="System.Windows.Forms.TextBox"不知道为什么总是不相等(用Trim也不能够),尽管和上述代码比起来,这个显得有些繁琐,可是因为開始没有引用命名空间System.Windows.Forms,所以TypeOf,ComboBox,TextBox这些都不能直接使用,还是费了一些周折。
不知道上述的函数算不算一个好的函数。可是在重构过程中,应该要尽量想着优化,要添加自己写的代码的可复用性。降低代码的反复。
检查用户输入信息是否完整(vb.net实现)的更多相关文章
- 使用 jQuery Ajax 异步登录,并验证用户输入信息(maven)
使用 jQuery Ajax 异步登录,并验证用户输入信息(maven) 本篇内容: (1)上一篇是使用同步的请求实现登录,并由 Servlet 决定登陆后下一步做哪些事情,本篇使用 jQuery A ...
- vue中mint-ui的filed的与blur事件结合实现检查用户输入是否正确
标题mint-ui的filed与blur事件验证用户输入格式是否正确说明:本人前端菜鸟,只是想借个地方做个笔记,为了以后查阅时比较方便.如有大神有什么建议的地方,欢迎提出来. 1.不得不说,mint- ...
- jquery.cookie.js && java后台代码 操作cookie实现记住当前用户输入信息代码
下载jquery.cookie.js地址看这里:http://pan.baidu.com/s/1gdCPaN5 //初始化页面时验证是否记住了密码 $(document).ready(function ...
- 整个Html内容以邮件的方式发送出去(取出标签包含的用户输入信息)
需求是一个html的调查问卷,在调查问卷完成后,将问卷页面(包括用户填写的答案)完整的发送给领导. 问题出现了 填写的时候用的是jquery赋值的方法 ,比如text文本.textrear用的是val ...
- 使用yield生成器,用Python实现用户对用户输入信息的监听和过滤
# -*- coding:utf-8 -*-'''''''''生成器是一次生成一个值的特殊类型函数.可以将其视为可恢复函数.调用该函数将返回一个可用于生成连续 x 值的生成[Generator],简单 ...
- php安全篇过滤用户输入的参数(转)
规则 1:绝不要信任外部数据或输入 关于Web应用程序安全性,必须认识到的第一件事是不应该信任外部数据.外部数据(outside data) 包括不是由程序员在PHP代码中直接输入的任何数据.在采取措 ...
- [ PyQt入门教程 ] PyQt5基本控件使用:消息弹出、用户输入、文件对话框
本文主要介绍PyQt界面实现中常用的消息弹出对话框.提供用户输入的输入框.打开文件获取文件/目录路径的文件对话框.学习这三种控件前,先想一下它们使用的主要场景: 1.消息弹出对话框.程序遇到问题需要退 ...
- js小例子(简单模糊匹配输入信息)
该例子实现的是用户输入信息或者字母时可以搜索出来,鼠标点击选择 <!DOCTYPE html> <html> <style> p{ width:200px; hei ...
- python -input用户输入
#接收用户输入信息用input就可以了 #还有输入密码的,也就是隐藏的,pycharm中不好用,要到命令行去 import getpass name = input('name:') age = in ...
随机推荐
- Eclipse upper case/lower case
How do I make a lower case string in Eclipse to be upper case?Using Eclipse, I want to select a stri ...
- error launching remote program failed to get the task for process
Error Starting executable: error launching remote program failed to get the task for process 715 这个 ...
- Python脚本报错AttributeError: 'module' object has no attribute 'maketrans'
出现此错误的原因:是此文件smtp02.py 所在的目录下有string.pyc 的文件存在,与python库里的string.pyc冲突造成无法确认编译所取的类库.
- 0x80070570 文件或目录损坏且无法读取 CHKDSK 修复方法
错误 0x80070570: 文件或目录损坏且无法读取. 不要太担心是出现了磁盘坏道,也许只是小小的存储问题.解决方法很简单,用chsdsk命令即可. 方法如下: 开始--运行--输入cmd--输入c ...
- Extjs gridPanel 动态指定表头
var colMArray = new Array(); colMArray = [{header : "产品代码", dataIndex : "cpdm", ...
- 一个VLAN配置的实际例子
背景很简单,和一般的eth-switch通过VLAN做成路由的方式一样. 首先看一种硬件效率较高的方法: Port1~4作为access口,同时在硬件上作为用户模式,即从PC发往这些端口的数据 ...
- (转)不通过web.config在运行时注册httpmodules
https://blog.csdn.net/kufeiyun/article/details/7763070 在asp.net4 中,我们知道可以不用任何配置让一个方法在appdomain中尽早执行, ...
- 【BZOJ】【1419】Red is good
数学期望/期望DP 还是戳<浅析竞赛中一类数学期望问题的解决方法>这篇论文…… $$ f[i][j]= \begin{cases} 0 &, &i==0 \\ f[i-1] ...
- 【C++ Primer】用于大型程序的工具
1. 异常处理 异常以类似于将实參传递给函数的方式抛出和捕获.异常可以是可传给非引用实參的随意实參的类型,这意味着必须可以复制该类型的对象. 当抛出一个表达式的时候,被抛出对象的静态编译时类型将决定异 ...
- 【Todo】React & Nodejs学习 &事件驱动,非阻塞IO & JS知识栈:Node为主,JQuery为辅,Bootstrap & React为辅辅,其他如Angular了解用途即可
JS知识栈:Node为主,JQuery为辅,Bootstrap & React为辅辅,其他如Angular了解用途即可 今天在学习ReactJS和NodeJS,看到关于ReactJS的这篇文章 ...