比如我界面上输入有“备注(varchar)”,“钢水量(Decimal)”,因为字段多,所以不可能每个都判断是否输入了,是否长度超出,是否文本输入成数字,数字输入成文本,谁帮我写个通用函数呀,我把我输入的数据循环传入进行效验,有错误的对话框提示用户

解决方案 »

  1.   

    没有什么所谓的通用的验证函数,如果你是Web程序,Web提供一套比较好用通用的验证空间,包括必填、数据类型校验、数据范围校验、正则表达式校验等等。上网随便找点资料学下,很容易使用。Winform中好像没有这种控件,需要你把代码写得通用一点。其实用一个方法就可以搞定所有控件的校验,可以在控件里面的Tag属性里面放一些标志字符串,来标志这个控件可以放什么类型的数据已经数据范围等,然后便利所有控件的Tag属性进行验证,代码不会太多,以后其它地方也都可以用。
      

  2.   

    遍历窗体控件,判断类型,获取控件值是否为空
      private void GetControl(Control.ControlCollection ctc)
                  {
                 foreach (Control ct in ctc)
                      {
                          J(ct);
                           if (ct.HasChildren)
                          {
                              GetControl(ct.Controls);
                          }
                      }
                  }
            private void J(Control ct)
                  {
                switch (ct.GetType().Name)
                      {
                    case "ListBox":
                    case "GroupBox":
                    case "Button":
                    case "CheckBox":
                           break;
                   default:            
                         break;
                      }
                  }
      

  3.   

    用Controls属性遍历页面textbox控件,看看有没有输入,输入是否合法(判断依据写在每个textbox的tag属性里)
      

  4.   

    在codeproject上有看到一套在winform下的验证控件 你可以搜索一下 也可以自己按照业务需求写代码控制验证输入