TextEdit验证
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Text;
using System.Windows.Forms;
using DevExpress.XtraEditors.DXErrorProvider;
namespace DevExpress.Tutorials.XtraEditors {
    public partial class ModuleDXValidationProvider : DevExpress.Tutorials.XtraEditors.Tutorial {
        public ModuleDXValidationProvider() {
            InitializeComponent();
            InitValidationRules();
            InitFieldValues();
        }
        private void ModuleDXValidationProvider_Load(object sender, EventArgs e) {
            manualValidate.Checked = true;
            dxValidationProvider1.ValidationMode = ValidationMode.Manual;
            dxValidationProvider1.Validate();
        }
        // <autoValidateCheck>
        // <manualValidate>
        private void OnCheckedChanged(object sender, EventArgs e) {
            dxValidationProvider1.ValidationMode = (manualValidate.Checked ? ValidationMode.Manual : ValidationMode.Auto);
            btnValidate.Enabled = manualValidate.Checked;
        }
        // </manualValidate>
        // </autoValidateCheck>
private void InitValidationRules() {
            // <notEmptyTextEdit> 
            ConditionValidationRule notEmptyValidationRule = new ConditionValidationRule();
            notEmptyValidationRule.ConditionOperator = ConditionOperator.IsNotBlank;
            notEmptyValidationRule.ErrorText = "Please enter a value";
            // </notEmptyTextEdit>
// <rangeTextEdit>
            ConditionValidationRule rangeValidationRule = new ConditionValidationRule();
            rangeValidationRule.ConditionOperator = ConditionOperator.Between;
            rangeValidationRule.Value1 = 0;
            rangeValidationRule.Value2 = 100;
            rangeValidationRule.ErrorText = "Please enter a value between 1 and 100";
            // </rangeTextEdit>
// <notEqualsComboBoxEdit>
            ConditionValidationRule notEqualsValidationRule = new ConditionValidationRule();
            notEqualsValidationRule.ConditionOperator = ConditionOperator.NotEquals;
            notEqualsValidationRule.Value1 = "(select)";
            notEqualsValidationRule.ErrorText = "Please choose a value";
            notEqualsValidationRule.ErrorType = ErrorType.Information;
            // </notEqualsComboBoxEdit>
// <containsTextEdit>
            ConditionValidationRule containsValidationRule = new ConditionValidationRule();
            containsValidationRule.ConditionOperator = ConditionOperator.Contains;
            containsValidationRule.Value1 = '@';
            containsValidationRule.ErrorText = "Please enter a valid email";
            containsValidationRule.ErrorType = ErrorType.Warning;
            // </containsTextEdit>
// <compareTextEdit>
            CompareAgainstControlValidationRule compareValidationRule = new CompareAgainstControlValidationRule();
            compareValidationRule.Control = notEmptyTextEdit;
            compareValidationRule.CompareControlOperator = CompareControlOperator.Equals;
            compareValidationRule.ErrorText = "Please enter a value that equals to the first editor's value";
            compareValidationRule.CaseSensitive = true;
            // </compareTextEdit>
// <customTextEdit>
            CustomValidationRule customValidationRule = new CustomValidationRule();
            customValidationRule.ErrorText = "Please enter a valid person name";
            customValidationRule.ErrorType = ErrorType.Warning;
            // </customTextEdit>
// <notEmptyTextEdit>
            dxValidationProvider1.SetValidationRule(notEmptyTextEdit, notEmptyValidationRule);
            // </notEmptyTextEdit>
            // <rangeTextEdit>
            dxValidationProvider1.SetValidationRule(rangeTextEdit, rangeValidationRule);
            // </rangeTextEdit>
            // <containsTextEdit>
            dxValidationProvider1.SetValidationRule(containsTextEdit, containsValidationRule);
            // </containsTextEdit>
            // <notEqualsComboBoxEdit>
            dxValidationProvider1.SetValidationRule(notEqualsComboBoxEdit, notEqualsValidationRule);
            // </notEqualsComboBoxEdit>
            dxValidationProvider1.SetValidationRule(compareTextEdit, compareValidationRule);
            // <customTextEdit>
            dxValidationProvider1.SetValidationRule(customTextEdit, customValidationRule);
            // </customTextEdit>
        }
        private void InitFieldValues() {
            notEmptyTextEdit.EditValue = "DevExpress";
            rangeTextEdit.EditValue = 570;
            containsTextEdit.EditValue = "support@devexpress.com";
            notEqualsComboBoxEdit.EditValue = "(select)";
            compareTextEdit.EditValue = notEmptyTextEdit.EditValue;
            customTextEdit.EditValue = "Mr. Smith";  
        }
        // <manualValidate>
        // <btnValidate>
        private void btnValidate_Click(object sender, EventArgs e) {
            dxValidationProvider1.Validate();
        }
        // </btnValidate>
        // </manualValidate>
#region CustomValidationRule
        // <customTextEdit>
        public class CustomValidationRule : ValidationRule {
            public override bool Validate(Control control, object value) {
                string str = (string)value;
                string[] values = new string[] { "Dr.", "Mr.", "Mrs.", "Miss", "Ms." };
                bool res = false;
                foreach(string val in values) {
                    if(ValidationHelper.Validate(str, ConditionOperator.BeginsWith, val, null, null, false)) {
                        string name = str.Substring(val.Length);
                        if(name.Trim().Length > 0) res = true;
                    }
                }
                return res;
            }
        }
        // </customTextEdit>
        #endregion 
    }
}
TextEdit验证的更多相关文章
- TextEdit不能空验证设置
		在工具箱中找到dxValidationProvider控件拖拉到界面上,添加代码 ConditionValidationRule notEmptyValidationRule = new Condit ... 
- winform 表单正则表达式验证 示例(ValidationRule)
		using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ... 
- Qt Quick 常用元素:Textinput 与 TextEdit 文本编辑框
		一.Textinput Textinput 用于编辑一行文本,类似于 QLineEdit. font 分组属性允许你设置 Textlnput 元素所用字体的各种属性,包括字体族(family).大 小 ... 
- [DevExpress] - 使得 XtraEditors.TextEdit 失去焦点(LostFocus)的方法
		场景 WinForm 应用,使用了 DevExpress.XtraEditors.TextEdit 控件的 KeyPress 和 Leave 事件.期望在 TextEdit 上按下回车键或者当 Tex ... 
- 玩转控件:封装Dev的LabelControl和TextEdit
		俗话说的好:"工欲善其事必先利其器",作为软件攻城狮也是同样道理,攻城狮开发的软件目的是简化客户的操作,让客户动动手指就可以完成很多事情,减少人力成本.这也是系统/软件存在的目的. ... 
- 【探索】无形验证码 —— PoW 算力验证
		先来思考一个问题:如何写一个能消耗对方时间的程序? 消耗时间还不简单,休眠一下就可以了: Sleep(1000) 这确实消耗了时间,但并没有消耗 CPU.如果对方开了变速齿轮,这瞬间就能完成. 不过要 ... 
- C# 中参数验证方式的演变
		一般在写方法的时候,第一步就是进行参数验证,这也体现了编码者的细心和缜密,但是在很多时候这个过程很枯燥和乏味,比如在拿到一个API设计文档的时候,通常会规定类型参数是否允许为空,如果是字符可能有长度限 ... 
- Yii1.1的验证规则
		在Yii1.1的数据验证是由CValidator完成,在CValidator中提供了各种基本的验证规则 <?php public static $builtInValidators=array( ... 
- 【WCF】使用“用户名/密码”验证的合理方法
		我不敢说俺的方法是最佳方案,反正这世界上很多东西都是变动的,正像老子所说的——“反(返)者,道之动”.以往看到有些文章中说,为每个客户端安装证书嫌麻烦,就直接采用把用户名和密码塞在SOAP头中发送,然 ... 
随机推荐
- [设计模式2]--模板(Template)模式
			原文出处:http://blog.csdn.net/lwbeyond/article/details/7517679 一. 问题 在面向对象系统的分析与设计过程中经常会遇到这样一种情况:对于某一个业务 ... 
- 数据挖掘算法-Apriori Algorithm(关联规则)
			http://www.cnblogs.com/jingwhale/p/4618351.html Apriori algorithm是关联规则里一项基本算法.是由Rakesh Agrawal和Ramak ... 
- WPF 之 左键弹出操作菜单,并禁用右键菜单
			在目前的WPF版本中,很多的控件都有一个ContextMenu的属性,可以设置组件的右键菜单,这点确实是很方便,但是有些时候我们可能会需要当单击鼠标左键才弹出这个ContextMenu,而不是单击鼠标 ... 
- Android(java)学习笔记66:实现Runnable接口创建线程 和 使用Callable和Future创建线程
			1. 前面说的线程的实现是新写一个子类继承Thread: 是将类声明为 Thread 的子类.该子类应重写 Thread 类的 run 方法.接下来可以分配并启动该子类的实例 2. 这里说的方案2是指 ... 
- c++ 的几种强制转换的讨论
			http://www.cnblogs.com/jerry19880126/archive/2012/08/14/2638192.html static_cast : 同 c 的强制转换类似: rei ... 
- iOS 多线程讲解
			//同步操作用途 dispatch_queue_t queue = dispatch_get_global_queue(0, 0); dispatch_sync(queue, ^{ NSLog(@&q ... 
- iOS webView与js交互在文本空格上输入文字
			项目要求:webview加载html网址,内容为填空题型文本,需要在横线上添加答案,并点击提交按钮后再将答案进行回显 正常加载的效果图片: 这个是用js交互后的效果图: 点击空格,输入想输入的答案,如 ... 
- C#中XML与对象之间的序列化、反序列化
			直接上代码: using System; using System.IO; using System.Text; using System.Xml; using System.Xml.Serializ ... 
- HTML--内联元素与块级元素
			>>内联元素(inline element) a,span,input,select,label,img,textarea,sub,sup,li,i,small,strong,em,b,b ... 
- Ralink RT3290无线网卡驱动安装 (linux)
			Ralink RT3290无线网卡驱动安装 (linux, 笔记备忘) 1. 设备信息查看无线网卡设备信息 # lspci : 2. 驱动下载http://pan.baidu.com/s/1sjsHN ... 
