DevExpress 控件设置必填及输入限制

Posted ryuug

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DevExpress 控件设置必填及输入限制相关的知识,希望对你有一定的参考价值。

一、必填验证

使用控件 DxValidationProvider

技术图片

  • ConditionOperator : 指验证的方式,比如“包含(Contains)”。
  • ErrorText:指不满足条件时,提示的文本
  • ErrorType :指不满足条件时,提示的方式
  • Value1 :指条件是什么//用代码进行初始化
/*用代码设置规则*/
///
<summary> /// 设置控件组对象必填 /// </summary> /// <param name="validationProvider">DXValidationProvider类型对象</param> /// <param name="param">一组BaseEdit对象</param> public static void SetRequired(DXValidationProvider validationProvider, params BaseEdit[] param) { //实例化一个必填规则,错误提示为:该字段不能为空 ConditionValidationRule required = new ConditionValidationRule("RequiredRule", ConditionOperator.IsNotBlank) { ErrorText = $"该字段不能为空" }; for (int i = 0; i < param.Length; i++) { //给控件对象设置规则 validationProvider.SetValidationRule(param[i], required); //设置文本显示位置 validationProvider.SetIconAlignment(param[i], ErrorIconAlignment.MiddleRight); } }

验证时使用

//false时未全部通过验证
bool valid= dxValidationProvider1.Validate();

实例:

技术图片

二、设置输入限制(在TextDdit正则)

技术图片
//常用正则
-?d*                     可负整数
(d|[1-9]d*)(.d+)?     正实数
-?(d|[1-9]d*)(.d+)?   实数
([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-]+)+   邮箱
([1-9]d{6,7})|(0d{2}-d{8}(-d{1,4})?)|(0d{3}-d{7,8}(-d{1,4})?)   电话号码
1[3,4,5,7,8]d{9}         手机号码
[0-9a-zA-Z]+              账户信息,包含字母和数字
d{6}                     邮编
(d+(;?|;?|*?|,?|,?))+        发票号及‘*’,‘;’,‘;’,
View Code

以仅能输入数字为例:"d+"

技术图片
textEdit1.Properties.Mask.MaskType = DevExpress.XtraEditors.Mask.MaskType.RegEx;
textEdit1.Properties.Mask.IgnoreMaskBlank = true;
textEdit1.Properties.Mask.AutoComplete = DevExpress.XtraEditors.Mask.AutoCompleteType.None;
textEdit1.Properties.Mask.EditMask = @"d+";
//设置输入提示
textEdit1.Properties.NullValuePromptShowForEmptyValue = true;
textEdit1.Properties.NullValuePrompt = "请输入数字";
textEdit1.ToolTip = "请输入数字";

//ButtonEdit同上
buttonEdit1.Properties.Mask.MaskType = DevExpress.XtraEditors.Mask.MaskType.RegEx;
buttonEdit1.Properties.Mask.IgnoreMaskBlank = true;
buttonEdit1.Properties.Mask.AutoComplete = DevExpress.XtraEditors.Mask.AutoCompleteType.None;
buttonEdit1.Properties.Mask.EditMask = @"d+";
//设置输入提示
buttonEdit1.Properties.NullValuePromptShowForEmptyValue = true;
buttonEdit1.Properties.NullValuePrompt = "请输入数字";
buttonEdit1.ToolTip = "请输入数字";

//GridColumn
gridColumn1.DisplayFormat.FormatType = FormatType.Custom;
gridColumn.DisplayFormat.FormatString = @"d+";
//添加输入提示
gridColumn1.ToolTip = "请输入数字";
View Code

以上是关于DevExpress 控件设置必填及输入限制的主要内容,如果未能解决你的问题,请参考以下文章

DevExpress的DateEdit控件使用

DevExpress之GridControl控件小知识

关于 DevExpress 的 RichEditControl 这个控件 谁知道在哪改变 默认输入字体的颜色 求助

DevExpress控件cxGrid实现多列模糊匹配输入的完美解决方案

DevExpress LookupEdit 控件,如何设置不弹出下拉框。现在的做法是弹出后马上关闭,但总会闪一下出来。。

DevExpress v19.1新版亮点——WinForms篇