WinForm窗体一次性数据合法性验证(源码)
2009-10-30 15:03
363 查看
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
using System;
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
using System.Data;
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
using System.Windows.Forms;
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
namespace HEWin.Sys
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/ContractedBlock.gif)
![](http://writeblog.csdn.net/Images/dot.gif)
{
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/ContractedSubBlock.gif)
/**//// <summary>
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
/// 功能:验证DataTable、DataRow和DataForm数据的合法性
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
/// 原理:使用DataColoum的扩展属性和窗口控件的Tag属性,存放数据的规范,调用本类来验证输入数据的合法性.
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
/// </summary>
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
public class sysValidate: IDisposable
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://writeblog.csdn.net/Images/dot.gif)
{
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
private HEWin.Sys.sysErrors _Errors=new sysErrors();
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
private System.Windows.Forms.Control _FocusControl;
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
static private string UnString=@"//'";
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
static private System.Text.RegularExpressions.Regex _CHAR=new System.Text.RegularExpressions.Regex("["+UnString+"]");
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
public void Dispose()
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://writeblog.csdn.net/Images/dot.gif)
{
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
_Errors.Dispose();
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
public sysValidate()
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://writeblog.csdn.net/Images/dot.gif)
{
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/ContractedSubBlock.gif)
/**//// <summary>
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
/// 功能:判断一个窗体上所有控件的数据合法性
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
/// 原理:根据控件的Tag属性存放的数据规范来验证数据的合法性,
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
/// 将错误返回到错误对象集合里.
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
/// </summary>
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
/// <param name="frm">窗口的引用</param>
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
/// <returns>错误集合对象</returns>
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
public Sys.sysErrors validateForm(System.Windows.Forms.Form frm)
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://writeblog.csdn.net/Images/dot.gif)
{
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
this._FocusControl=null;
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
if(_Errors!=null) _Errors.Dispose();
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
_Errors =new HEWin.Sys.sysErrors();
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
foreach(System.Windows.Forms.Control ctl in frm.Controls)
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
_Errors.MergeErrors(validateControl(ctl));
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
if(this._FocusControl!=null)
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
this._FocusControl.Focus();
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
return _Errors;
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/ContractedSubBlock.gif)
/**//// <summary>
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
/// 功能:判断一个窗体上可见控件的数据合法性
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
/// 原理:根据控件的Tag属性存放的数据规范来验证数据的合法性,
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
/// 将错误返回到错误对象集合里.
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
/// </summary>
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
/// <param name="frm">窗口的引用</param>
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
/// <param name="Visible">true:表示对可见控件进行判断</param>
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
/// <returns>错误集合对象</returns>
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
public Sys.sysErrors validateForm(System.Windows.Forms.Form frm,bool Enabled)
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://writeblog.csdn.net/Images/dot.gif)
{
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
this._FocusControl=null;
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
if(_Errors!=null) _Errors.Dispose();
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
_Errors =new HEWin.Sys.sysErrors();
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
foreach(System.Windows.Forms.Control ctl in frm.Controls)
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
_Errors.MergeErrors(validateControl(ctl,Enabled));
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
if(this._FocusControl!=null)
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
this._FocusControl.Focus();
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
return _Errors;
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/ContractedSubBlock.gif)
/**//// <summary>
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
/// 功能:判断一个控件的数据合法性
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
/// 原理:根据控件的Tag属性存放的数据规范来验证数据的合法性,
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
/// 将错误返回到错误对象集合里.
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
/// </summary>
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
/// <param name="ctl">控件的引用</param>
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
/// <returns>错误集合对象</returns>
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
public Sys.sysErrors validateControl(System.Windows.Forms.Control ctl)
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://writeblog.csdn.net/Images/dot.gif)
{
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
HEWin.Sys.sysErrors errs = new HEWin.Sys.sysErrors();
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
switch (ctl.GetType().ToString())
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://writeblog.csdn.net/Images/dot.gif)
{
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
case "System.Windows.Forms.GroupBox" :
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
foreach(System.Windows.Forms.Control ctlInner in ctl.Controls)
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
errs.MergeErrors(validateControl(ctlInner)); //递归
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
break;
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
case "System.Windows.Forms.Panel" :
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
foreach(System.Windows.Forms.Control ctlInner in ctl.Controls)
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
errs.MergeErrors(validateControl(ctlInner)); //递归
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
break;
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
default :
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
Sys.sysError err = validate(ctl);
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
if (err != null)
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://writeblog.csdn.net/Images/dot.gif)
{
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
if (this._FocusControl==null && ctl.Visible)
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
this._FocusControl=ctl;
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
if(this._FocusControl!=null && ctl.TabIndex<this._FocusControl.TabIndex && ctl.Visible)
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
this._FocusControl=ctl;
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
errs.AddError(err);
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
break;
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
return errs;
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/ContractedSubBlock.gif)
/**//// <summary>
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
/// 功能:判断一个可见控件的数据合法性
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
/// 原理:根据控件的Tag属性存放的数据规范来验证数据的合法性,
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
/// 将错误返回到错误对象集合里.
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
/// </summary>
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
/// <param name="ctl">控件的引用</param>
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
/// <param name="Visible">true:表示对可见控件进行判断</param>
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
/// <returns>错误集合对象</returns>
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
public Sys.sysErrors validateControl(System.Windows.Forms.Control ctl,bool Enabled)
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://writeblog.csdn.net/Images/dot.gif)
{
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
HEWin.Sys.sysErrors errs = new HEWin.Sys.sysErrors();
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
switch (ctl.GetType().ToString())
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://writeblog.csdn.net/Images/dot.gif)
{
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
case "System.Windows.Forms.GroupBox" :
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
foreach(System.Windows.Forms.Control ctlInner in ctl.Controls)
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
errs.MergeErrors(validateControl(ctlInner,Enabled)); //递归
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
break;
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
case "System.Windows.Forms.Panel" :
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
foreach(System.Windows.Forms.Control ctlInner in ctl.Controls)
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
errs.MergeErrors(validateControl(ctlInner,Enabled)); //递归
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
break;
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
default :
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
if (ctl.Visible!=Enabled)
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
return errs;
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
if(ctl is System.Windows.Forms.TextBox&&( ((TextBox)ctl).ReadOnly==Enabled))
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
return errs;
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
Sys.sysError err = validate(ctl);
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
if (err != null)
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://writeblog.csdn.net/Images/dot.gif)
{
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
if (this._FocusControl==null && ctl.Visible)
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
this._FocusControl=ctl;
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
if(this._FocusControl!=null && ctl.TabIndex<this._FocusControl.TabIndex && ctl.Visible)
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
this._FocusControl=ctl;
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
errs.AddError(err);
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
break;
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
return errs;
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/ContractedSubBlock.gif)
/**//// <summary>
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
/// 功能:判断一个控件数据的合法性
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
/// 原理:根据控件的Tag属性存放的数据规范来验证数据的合法性,所有验证控件的函数都是调用此函数来执行验证的.
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
/// </summary>
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
/// <param name="ctl">控件的引用</param>
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
/// <returns>返回错误集合对象</returns>
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
private Sys.sysError validate(System.Windows.Forms.Control ctl)
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://writeblog.csdn.net/Images/dot.gif)
{
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
if (ctl.Tag != null && ctl.Tag.ToString() != "0;")
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://writeblog.csdn.net/Images/dot.gif)
{
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
string strTag = ctl.Tag.ToString();
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
string strText = ctl.Text;
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
if (strTag.IndexOf(";") == -1)
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
return null;
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
string strVid = "";
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
System.Text.RegularExpressions.Regex regex;
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
if (strTag.Length >= 1)
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
strVid = strTag.Substring(0,1);
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
else
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
return null;
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
string strVname = "";
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
string strVmaxmin = "";
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
string strFill = "0";
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
Sys.sysError _Error = new Sys.sysError();
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
switch (strVid)
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://writeblog.csdn.net/Images/dot.gif)
{
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
case "1" :
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
try
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://writeblog.csdn.net/Images/dot.gif)
{
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
regex = new System.Text.RegularExpressions.Regex
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
(@"^/d+;(?<vname>[/u4E00-/u9FA0]+);(?<vfill>/d+);(?<vmaxmin>/d+,/d+);(?<vfraction>/d+);"); //匹配数字验证的正则表达式
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
strVname = regex.Match(strTag).Result("${vname}");
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
strFill = regex.Match(strTag).Result("${vfill}");
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
strVmaxmin = regex.Match(strTag).Result("${vmaxmin}");
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
int intFraction = Convert.ToInt32(regex.Match(strTag).Result("${vfraction}"));
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
if (strFill == "1")
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://writeblog.csdn.net/Images/dot.gif)
{
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
if (strText == "") //是否必填
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://writeblog.csdn.net/Images/dot.gif)
{
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
_Error = new HEWin.Sys.sysError(-1,strVname,1001,"不能为空!"); // D(1) = B(00000001)
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
return _Error;
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
else
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://writeblog.csdn.net/Images/dot.gif)
{
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
if (strText == "")
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
return null;
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
regex = new System.Text.RegularExpressions.Regex(@"^/d*/.?/d+$"); //是否有非法字符(此处必须全部为数字)
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
if (strText != ""&&(!regex.IsMatch(strText)||strText.Substring(0,1)=="."))
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://writeblog.csdn.net/Images/dot.gif)
{
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
_Error = new HEWin.Sys.sysError(-1,strVname,1002,"必须为数字!"); // D(16) = B(00010000)
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
return _Error;
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
try
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://writeblog.csdn.net/Images/dot.gif)
{
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
System.Decimal test=System.Convert.ToDecimal(strText);
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
catch
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://writeblog.csdn.net/Images/dot.gif)
{
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
_Error = new HEWin.Sys.sysError(-1,strVname,1002,"必须为数字!"); // D(16) = B(00010000)
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
return _Error ;
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
regex = new System.Text.RegularExpressions.Regex(@"^(?<vmin>/d+),(?<vmax>/d+)",
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
System.Text.RegularExpressions.RegexOptions.Compiled);
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
//要判断非常大的数据吗??
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
long lngMax = 0;
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
long lngMin = 0;
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
try
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://writeblog.csdn.net/Images/dot.gif)
{
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
lngMax = Convert.ToInt64(regex.Match(strVmaxmin).Result("${vmax}"));
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
lngMin = Convert.ToInt64(regex.Match(strVmaxmin).Result("${vmin}"));
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
if (strText == "0")
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://writeblog.csdn.net/Images/dot.gif)
{
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
_Error = new sysError(-1,strVname,1003,"不能为0!");
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
return _Error; //非0判断
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
if (System.Math.Ceiling(Convert.ToDouble(strText)) > lngMax) //最大值判断
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
if (System.Math.Floor(Convert.ToDouble(strText)) != lngMax)
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://writeblog.csdn.net/Images/dot.gif)
{
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
_Error = new sysError(-1,strVname,1004,"最大值超出范围!"); // D(2) = B(00000010)
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
return _Error;
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
if (System.Math.Ceiling(Convert.ToDouble(strText)) < lngMin) //最小值判断
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://writeblog.csdn.net/Images/dot.gif)
{
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
_Error = new sysError(-1,strVname,1005,"最小值超出范围!"); // D(4) = B(00000100)
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
return _Error;
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
catch
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://writeblog.csdn.net/Images/dot.gif)
{
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
_Error = new sysError(-1,strVname,1006,"所填数据过大!"); //所填数据过大
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
return _Error;
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
if (strText.IndexOf(".") != -1)
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://writeblog.csdn.net/Images/dot.gif)
{
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
regex = new System.Text.RegularExpressions.Regex(@"^/d+/.(?<vfraction>/d+$)");
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
if (regex.Match(strText).Result("${vfraction}").Length > intFraction) //小数位数判断
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://writeblog.csdn.net/Images/dot.gif)
{
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
_Error = new sysError(-1,strVname,1007,"小数位数过长!"); // D(8) = B(00001000)
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
return _Error;
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
catch
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://writeblog.csdn.net/Images/dot.gif)
{
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
_Error = new sysError(-1,strVname,1499,"判断条件出错!"); //判断条件出错
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
return _Error;
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
break;
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
case "2" :
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
try
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://writeblog.csdn.net/Images/dot.gif)
{
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
//检查控件的Tag属性设置是否正确
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
regex = new System.Text.RegularExpressions.Regex
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
(@"^/d+;(?<vname>[/u4E00-/u9FA0]+);(?<vfill>/d+);(?<vmaxmin>/d+,/d+);");
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
strVname = regex.Match(strTag).Result("${vname}");
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
strFill = regex.Match(strTag).Result("${vfill}");
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
strVmaxmin = regex.Match(strTag).Result("${vmaxmin}");
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
//判断是否必填
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
if (strFill == "1")
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://writeblog.csdn.net/Images/dot.gif)
{
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
if (strText == "")
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://writeblog.csdn.net/Images/dot.gif)
{
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
_Error = new sysError(-1,strVname,1001,"不能为空!");
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
return _Error;
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
//判断是否有非法字符
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
if (_CHAR.IsMatch(strText) && strText != "")
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://writeblog.csdn.net/Images/dot.gif)
{
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
_Error = new sysError(-1,strVname,1008,"存在“"+UnString+"“等非法字符!");
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
return _Error;
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
if (_CHAR.IsMatch(strText) && strText != "")
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://writeblog.csdn.net/Images/dot.gif)
{
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
_Error = new sysError(-1,strVname,1008,"存在“"+UnString+"”等非法字符!");
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
return _Error;
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
//判断字符最大最小长度
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
//HEWin.Sys.sysFunction.MsgWarning(strVmaxmin);
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
regex = new System.Text.RegularExpressions.Regex(@"^(?<vmin>/d+),(?<vmax>/d+)");
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
int intMax = Convert.ToInt32(regex.Match(strVmaxmin).Result("${vmax}"));
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
int intMin = Convert.ToInt32(regex.Match(strVmaxmin).Result("${vmin}"));
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
//最大字符长度
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
if (strText.Length > intMax)
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://writeblog.csdn.net/Images/dot.gif)
{
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
_Error = new sysError(-1,strVname,1009,"所填字符太长!");
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
return _Error;
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
//最小长度
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
else if (strText.Length < intMin)
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://writeblog.csdn.net/Images/dot.gif)
{
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
_Error = new sysError(-1,strVname,1010,"所填字符太短!");
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
return _Error;
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
catch
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://writeblog.csdn.net/Images/dot.gif)
{
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
_Error = new sysError(-1,strVname,1499,"判断条件出错!"); //判断条件出错
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
return _Error;
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
break;
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
case "3" :
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
try
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://writeblog.csdn.net/Images/dot.gif)
{
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
regex = new System.Text.RegularExpressions.Regex
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
(@"^/d+;(?<vname>[/u4E00-/u9FA0]+);(?<vfill>/d+);(?<vmaxmin>/d{4}/-/d{1,2}/-/d{1,2},/d{4}/-/d{1,2}/-/d{1,2});",
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
System.Text.RegularExpressions.RegexOptions.Compiled);
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
//DateTimePicker控件
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
if (ctl.GetType().ToString() == "System.Windows.Forms.DateTimePicker")
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
strText = ((System.Windows.Forms.DateTimePicker)ctl).Value.ToString("yyyy-MM-dd");
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
strVname = regex.Match(strTag).Result("${vname}");
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
strFill = regex.Match(strTag).Result("${vfill}");
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
strVmaxmin = regex.Match(strTag).Result("${vmaxmin}");
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
//是否必填
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
if (strFill == "1")
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://writeblog.csdn.net/Images/dot.gif)
{
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
if (strText == "")
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://writeblog.csdn.net/Images/dot.gif)
{
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
_Error = new sysError(-1,strVname,1001,"不能为空!"); //判断条件出错
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
return _Error;
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
//最大最小日期
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
regex = new System.Text.RegularExpressions.Regex(@"^(?<vmin>/d{4}/-/d{1,2}/-/d{1,2}),(?<vmax>/d{4}/-/d{1,2}/-/d{1,2})");
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
//最大日期
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
try
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://writeblog.csdn.net/Images/dot.gif)
{
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
if (Convert.ToDateTime(strText) > Convert.ToDateTime(regex.Match(strVmaxmin).Result("${vmax}")))
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://writeblog.csdn.net/Images/dot.gif)
{
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
_Error = new sysError(-1,strVname,1011,"所填日期太大!");
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
return _Error;
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
//最小日期
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
else if (Convert.ToDateTime(strText) < Convert.ToDateTime(regex.Match(strVmaxmin).Result("${vmin}")))
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://writeblog.csdn.net/Images/dot.gif)
{
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
_Error = new sysError(-1,strVname,1011,"所填日期太小!");
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
return _Error;
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
catch
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://writeblog.csdn.net/Images/dot.gif)
{
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
_Error = new sysError(-1,strVname,1012,"不是类似“yyyy-MM-dd“格式的日期!");
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
return _Error;
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
catch
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://writeblog.csdn.net/Images/dot.gif)
{
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
_Error = new sysError(-1,strVname,1499,"判断条件出错!"); //判断条件出错
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
return _Error;
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
break;
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
default :
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
_Error = new sysError(-1,ctl.Name,1498,"Tag判断条件无法解析!");
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
return _Error;
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
![](http://writeblog.csdn.net/Images/OutliningIndicators/InBlock.gif)
return null;
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://writeblog.csdn.net/Images/OutliningIndicators/ExpandedBlockEnd.gif)
}
![](http://writeblog.csdn.net/Images/OutliningIndicators/None.gif)
相关文章推荐
- 源码——WinForm窗体一次性数据合法性验证
- WinForm窗体一次性数据合法性验证
- WinForm窗体一次性数据合法性验证(思路分析)
- [WinForm每日一帖] 如何验证Editor中输入的数据合法性
- 求winform验证窗体公共类源码?
- Winform窗体数据验证
- 方便winform中的数据验证,制作一个使用正则表达式验证数据的复合控件
- ASP.NET MVC3 入门指南之数据验证[源码RAR下载]
- JAVASCRIPT验证数据合法性
- 简单谈谈如何在DataGridView控件中验证数据输入的正确性,winform
- 递归导入access数据winform程序源码
- winform 子窗体数据改变刷新父窗体 分类: WinForm 2014-05-06 18:30 246人阅读 评论(0) 收藏
- Winform窗体间传递数据
- WinForm 窗体间传递数据的一些方法
- winform窗体EF数据如何在datagridview中用linq语句实现增删改差
- winform程序两个窗体间同步数据(二): 子窗体和线程实现
- winform程序三个窗体间同步数据(四):建立兄弟关系(不适用线程)
- 微信支付java版V3验证数据合法性(Deom)
- Extjs客户端数据,Grid展示,弹出窗体修改,并将修改数据再次显示在Grid【未完全验证】
- Asp.net+Extjs实现对GridPanel分页、行内编辑、增加、删除、弹出新窗体增加、数据验证、编辑指定列、数据格式转换等功能