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

Reading number is top 10 articles
SQL语言快速入门之三_mssql学习_编程技术
SQL Server数据库的数据类型_[SQL Server教程]
选择SQL,Server恢复模型确保正确备份_mssql学习_编程技术
ASP.NET中广告控件AdRotator使用方法_[Asp.Net教程]
如何利用PHP会话显示出当前在线的用户_[PHP教程]
C#教程:建立动态链接库
详细讲解PHP中缓存技术的应用_[PHP教程]
SQL,Server,2008-新位置感知数据类型_mssql学习_编程技术
在SQL Server中使用NewID()产生随机集_[SQL Server教程]
轻松掌握Ajax.net系列教程一:部署AJAX.NET_[Asp.Net教程]
Reading number is top 10 pictures
你白吃了多少药
两个妞在等世界上最短的火车
Absolutely shocked. National geographic 50 animal photographys3
漂亮脸蛋魔鬼身材2
Seductive beauty of crime2
含苞欲放的素颜美少女1
代沟,真好
The real super beauty15
Is said to be a Chinese female artist fame explicit pictures before2
The little woman's bright wire3
Download software ranking
Proficient in JavaScript
Photoshop 8.0图象编辑软件
Jinling thirteen stock
在线棋牌游戏3.05版
The hero
Boxer's Top ten classic battle2
matrix2
Boxer vs Yellow3
Popkart Cracked versions Mobile phone games
WebService在.NET中的实战应用教学视频 → 第4集
aaa published in(发表于) 2013/12/17 7:55:30 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.