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 ...