频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

Windows Forms中实现统一的数据验证(一)

来源: 作者:Anders Cui 出处:巧巧读书 2008-01-23 进入讨论组
上一页 1 2 3 4 5 下一页 

RegularExpressionValidator

正则表达式是一种强大的文本模式匹配技术。如果文本域需要一定的模式,正则表达式无疑是很好的选择。

using System.Text.RegularExpressions; [ToolboxBitmap(typeof(RegularExpressionValidator), "RegularExpressionValidator.ico")] class RegularExpressionValidator : BaseValidator ...{ string ValidationExpression ...{} protected override bool EvaluateIsValid() ...{ // Don't validate if empty if( ControlToValidate.Text.Trim() == "" ) return true; // Successful if match matches the entire text of ControlToValidate string field = ControlToValidate.Text.Trim(); return Regex.IsMatch(field, _validationExpression.Trim()); } }
在设计时,开发人员可以通过属性浏览器提供用于验证的正则表达式。

CustomValidator

人生在世,不如意者十有八九。我们定义的验证组件不可能解决所有问题,尤其是面对复杂的业务规则的时候。这时只能编写自定义代码,CustomValidator 允许我们编写这些自定义代码,同时仍能与其它的验证组件保持一致,这在窗体级的统一验证过程中很重要。CustomValidator 提供了Validating事件和ValidatingCancelEventArgs:

处理CustomValidator的Validating事件时,只需在属性浏览器中双击:

Windows Forms中实现统一的数据验证(一)(图四)


然后,只需添加合适的验证逻辑,以确保新增的雇员不小于18岁:

private void customValidator1_Validating(object sender, CustomValidator.ValidatingCancelEventArgs e) ...{ DateTime birth; bool isDate = DateTime.TryParse(txtBirth.Text, out birth); if (isDate) ...{ DateTime legal = DateTime.Now.AddYears(-18); e.Valid = (birth <= legal); } else ...{ e.Valid = false; } }
如果小于18岁,就会提示用户:

Windows Forms中实现统一的数据验证(一)(图五)

 查看 http://www.qqread.com/dotnet/j394032.html 更多文章 更多内容请看Windows操作系统安装Windows权限设置Windows操作系统安全集专题,或进入讨论组讨论。
上一页 1 2 3 4 5 下一页 
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
讨论组问题推荐
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章