All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
vs2005安装了sp1后发布问题解决办法_[Asp.Net教程]
php常用数据库备份类_[PHP教程]
ASP.NET生成HTML页面教程_[Asp.Net教程]
DropDownList、ListBox实现无刷新三级联动的方法_[Asp.Net教程]
用AJAX编写用户注册时的应用实例_.net资料_编程技术
Visual,Studio,2008,RTM,已经对内发布_[Asp.Net教程]
C#异常处理_[Asp.Net教程]
target 属性怎么用 JS 来控制?_[Html教程]
ASP.NET,2.0,中的,Windows,身份验证_.net资料_编程技术
C#中利用SharpZipLib进行压缩和解压_[Asp.Net教程]
Reading number is top 10 pictures
The real super beauty13
云南大理的美女
小学生作文又现神作,你不得不佩服
Sora aoi on twitter1
上传几张色图
In 2013 hercules Arnold classic1
The household of rural style is designed
你白吃了多少药
A man's favorite things15
Small QiShu -- ShuangShuangPan2
Download software ranking
WebService在.NET中的实战应用教学视频 → 第4集
asp.netWeb服务器高级编程
1400篇各类破解文章
Sora aoi - one of more PK
Love the forty days
I'm come from Beijing1
Tram sex maniac 2 (H) rar bag19
双旗镇刀客A
matrix3
金山office2007
aaa published in(发表于) 2013/12/18 7:55:16 Edit(编辑)
ASP.NET中数据校验部分的封装与应用_.net资料_编程技术

ASP.NET中数据校验部分的封装与应用_.net资料_编程技术

ASP.NET中数据校验部分的封装与应用_.net资料_编程技术-你的首页-uuhomepage.com

  我们的业务系统涉及到较多的表单编辑与校验,最简单的办法是使用asp.net自带的数据校验控件即可,但这样有以下3个问题:


  1 校验控件要在设计时加入到表单上,并手工设置:数据类型,错误信息等属性,比较繁琐。


  2 对于一个输入框,我们可能要检查多项,如:必填,必须是日期格式,并且要大于2007-1-1。这样就需要加入多个校验控件。


  3 业务规则和表单绑定在一起,不利于维护和重用。


  我们希望的校验功能是:


  1 校验规则和表单脱离,表单上画好输入框即可,校验控件会在运行时,根据配置文件动态创建。


  2 根据验证规则,生成默认的:不能为空,错误的数字类型,必须在1到100之间这样的提示信息。


  3 灵活的验证规则表达式:如: range(1, 200) , >=0.5 , Mail(), Mobile()。目前不支


  持 and, or 这样的条件,但容易扩展。


  为此我们封装了这部分的功能,使用时只要:


  在xml文件中设置好:控件名称,数据类型,是否必填,验证表达式信息。




排口数量
Integer
true
range(1, 100)


在page的Page_Init事件中,调用类方法:
ValidateHelper.LoadFromFile("数据校验_配置.xml") 即可。

类设计:
// 配置信息类
class ValidateInfo
{
public string ControlName;
public ValidationDataType DataType;
public string ErrorMessage;
public bool Require;
public string Expression;
}

// 校验控件创建工厂
public class ValidatorFactory
{
CreateRequiredFieldValidator();
CreateDateTypeCheckValidator();
CreateRangeValidator(string min, string max);
CreateCompareValidator(ValidationCompareOperator oper, string valueToCompare);
...
}

// 校验规则解析器,根据配置信息,创建校验控件
public class ValidatorParser
{
Parse(ValidateInfo info, ValidatorFactory factory);
...
}

// 读取配置信息,并绑定校验控件到表单
public class ValidateHelper
{
LoadFromFile(Page page, string fileName)
}



添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.