机房收费系统中。在将用户输入的信息封装到实体中作为參数传到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实现)的更多相关文章

  1. 使用 jQuery Ajax 异步登录,并验证用户输入信息(maven)

    使用 jQuery Ajax 异步登录,并验证用户输入信息(maven) 本篇内容: (1)上一篇是使用同步的请求实现登录,并由 Servlet 决定登陆后下一步做哪些事情,本篇使用 jQuery A ...

  2. vue中mint-ui的filed的与blur事件结合实现检查用户输入是否正确

    标题mint-ui的filed与blur事件验证用户输入格式是否正确说明:本人前端菜鸟,只是想借个地方做个笔记,为了以后查阅时比较方便.如有大神有什么建议的地方,欢迎提出来. 1.不得不说,mint- ...

  3. jquery.cookie.js && java后台代码 操作cookie实现记住当前用户输入信息代码

    下载jquery.cookie.js地址看这里:http://pan.baidu.com/s/1gdCPaN5 //初始化页面时验证是否记住了密码 $(document).ready(function ...

  4. 整个Html内容以邮件的方式发送出去(取出标签包含的用户输入信息)

    需求是一个html的调查问卷,在调查问卷完成后,将问卷页面(包括用户填写的答案)完整的发送给领导. 问题出现了 填写的时候用的是jquery赋值的方法 ,比如text文本.textrear用的是val ...

  5. 使用yield生成器,用Python实现用户对用户输入信息的监听和过滤

    # -*- coding:utf-8 -*-'''''''''生成器是一次生成一个值的特殊类型函数.可以将其视为可恢复函数.调用该函数将返回一个可用于生成连续 x 值的生成[Generator],简单 ...

  6. php安全篇过滤用户输入的参数(转)

    规则 1:绝不要信任外部数据或输入 关于Web应用程序安全性,必须认识到的第一件事是不应该信任外部数据.外部数据(outside data) 包括不是由程序员在PHP代码中直接输入的任何数据.在采取措 ...

  7. [ PyQt入门教程 ] PyQt5基本控件使用:消息弹出、用户输入、文件对话框

    本文主要介绍PyQt界面实现中常用的消息弹出对话框.提供用户输入的输入框.打开文件获取文件/目录路径的文件对话框.学习这三种控件前,先想一下它们使用的主要场景: 1.消息弹出对话框.程序遇到问题需要退 ...

  8. js小例子(简单模糊匹配输入信息)

    该例子实现的是用户输入信息或者字母时可以搜索出来,鼠标点击选择 <!DOCTYPE html> <html> <style> p{ width:200px; hei ...

  9. python -input用户输入

    #接收用户输入信息用input就可以了 #还有输入密码的,也就是隐藏的,pycharm中不好用,要到命令行去 import getpass name = input('name:') age = in ...

随机推荐

  1. windows的磁盘操作之九——区分本地磁盘与移动硬盘

    http://cutebunny.blog.51cto.com/301216/674443 最近碰到了个新问题,记录下来作为windows的磁盘操作那个系列的续篇吧. 一些时候我们的程序需要区分本地存 ...

  2. MVC扩展Filter,通过继承HandleErrorAttribute,使用log4net或ELMAH组件记录服务端500错误、HttpException、Ajax异常等

    □ 接口 public interface IExceptionFilter{    void OnException(ExceptionContext filterContext);} Except ...

  3. android中PopupMenu的使用

    PopupMenu可以非常方便的在指定view的下面显示一个弹出菜单,类似于actionbar溢出菜单的效果.它的菜单选项可以来自于menu资源,因此非常方便.下面是在网上找的一个PopupMenu的 ...

  4. struts2 select 默认选中

    jsp: <s:select list="#{'1':'男','2':'女'}" name="sex"/> action: private Stri ...

  5. [Git] git merge之squash

    reference : https://www.cnblogs.com/ungshow/p/3515161.html 看CM源码时,发现历史记录里有很多squash,于是google了解了一下. Gi ...

  6. 近看到的机器学习、NLP相关书单

    书单再多,不去读,也是白搭~~ 水木上的machine learning书单:http://www.newsmth.net/bbscon.php?bid=5&id=34859&ftyp ...

  7. [转]linux下完全备份数据库mysql

    #配置参数 USER=vimer_admin #数据库用户名 PASSWORD=dreamfly123 #数据库用户密码 DATABASE=vimer #数据库名称 WEBMASTER=@qq.com ...

  8. PHP自己定义安装

    ① 自己定义安装(先要在管理里停止apache服务,再卸载apache.再安装时不须要重新启动电脑) apache+php+mysql+phpmyadmin自行安装 我们建议大家,安装的时候安装到同一 ...

  9. Java中String,StringBuffer和StringBuilder的区别(转载)

    String 字符串常量StringBuffer 字符串变量(线程安全)StringBuilder 字符串变量(非线程安全) 简 要的说, String 类型和 StringBuffer 类型的主要性 ...

  10. Maven Dependencies没有了的解决办法

    头疼的问题,maven Dependencies突然没有了,别的项目都有,个别的却怎么也出不来.  以下是某大神的解决方法,特此转发,以防丢失: 网上搜索了一番,大多都是下面这种做法: 右击 Mave ...