/// <summary> /// 输入验证初始化 /// </summary> private void InitValidationRules() { ConditionValidationRule notEmptyValidationRule = new ConditionValidationRule(); notEmptyValidationRule.ConditionOperator = ConditionOperator.IsNotBlank; //验证条件 notEmptyValidationRule.ErrorText = "此栏不能为空!"; //提示信息 notEmptyValidationRule.ErrorType = ErrorType.Default; //错误提示类别 dxvalidation.SetValidationRule(txtUid, notEmptyValidationRule); dxvalidation.SetValidationRule(txtPwd, notEmptyValidationRule); }
/// <summary> /// 输入验证初始化 /// </summary> private void InitValidationRules() { ConditionValidationRule notEmptyValidationRule = new ConditionValidationRule(); notEmptyValidationRule.ConditionOperator = ConditionOperator.IsNotBlank; //验证条件 notEmptyValidationRule.ErrorText = "此栏不能为空!"; //提示信息 notEmptyValidationRule.ErrorType = ErrorType.Default; //错误提示类别 _dxvalidation.SetValidationRule(intelb_title, notEmptyValidationRule); _dxvalidation.SetValidationRule(intelb_content, notEmptyValidationRule); }
/// <summary> /// 输入验证初始化 /// </summary> private void InitValidationRules() { ConditionValidationRule notEmptyValidationRule = new ConditionValidationRule(); notEmptyValidationRule.ConditionOperator = ConditionOperator.IsNotBlank; //验证条件 notEmptyValidationRule.ErrorText = "此栏不能为空!"; //提示信息 notEmptyValidationRule.ErrorType = ErrorType.Default; //错误提示类别 dxvalidation.SetValidationRule(txtUid, notEmptyValidationRule); dxvalidation.SetValidationRule(txtPwd, notEmptyValidationRule); //txtUid.Leave += (object sender, EventArgs e) => { dxvalidation.Validate((Control)sender); }; //txtPwd.Leave += (object sender, EventArgs e) => { dxvalidation.Validate((Control)sender); }; }
/// <summary> /// 为cr设置验证 /// </summary> /// <param name="cr"></param> /// <param name="dt"></param> /// <param name="mark"></param> public static void setControlValidation(Control cr, string mark, DXValidationProvider dxValidationProvider1, ValidationRuleBase validationRule1) { if (cr.ToString() == mark) { if (cr.Text != "") { dxValidationProvider1.SetValidationRule(cr, validationRule1); } else { dxValidationProvider1.SetValidationRule(cr, null); } } }
/// <summary> /// 执行验证 /// </summary> /// <returns></returns> public bool Validate() { bool flag = true; if (provider != null) { provider.Dispose(); } if (RuleList != null) { foreach (ValiControlRule item in RuleList) { provider.RemoveControlError(item.control); provider.SetIconAlignment(item.control, ErrorIconAlignment.MiddleRight); provider.SetValidationRule(item.control, item.rule); //if (!provider.Validate() && flag) //{ // flag = false; //} } flag = provider.Validate(); } else { flag = false; } return(flag); }
protected void SetValidationRule(Control control, ValidationRuleBase rule) { DXValidationProvider provider = ValidationProvider; provider.SetValidationRule(control, rule); provider.SetIconAlignment(control, ErrorIconAlignment.MiddleRight); }
public static void KiemTra(List <KiemTra> lstThongBao, DXValidationProvider dx) { foreach (KiemTra ctl in lstThongBao) { if (ctl._ChoQuaThang) { dx.SetValidationRule(ctl._Control, new TextValidationRule(string.Empty, true)); } else if (ctl._Mail) { ctl._Control.Text = ctl._Control.Text ?? string.Empty; string strRegex = @"^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}" + @"\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\" + @".)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$"; Regex re = new Regex(strRegex); if (ctl._Control.Text.Length > 9 && re.IsMatch(ctl._Control.Text.TrimEnd().TrimStart())) { dx.SetValidationRule(ctl._Control, new TextValidationRule(ctl._ThongBao2, ctl._ChoQua)); } else { dx.SetValidationRule(ctl._Control, new TextValidationRule("Mail không hợp lệ", false)); } } else if (ctl._SDT) { if (ctl._Control.Text.Length > 9) { if (XuLyDuLieu.IsNumeric(ctl._Control.Text.Replace("+", string.Empty))) { dx.SetValidationRule(ctl._Control, new TextValidationRule(ctl._ThongBao2, ctl._ChoQua)); } else { dx.SetValidationRule(ctl._Control, new TextValidationRule("Số điện thoại không hợp lệ", false)); } } else { dx.SetValidationRule(ctl._Control, new TextValidationRule("Ít nhất 10 kí tự", false)); } } else if (ctl._KiemTraChuoi) { int Te = ctl._Control.Text.Replace(" ", string.Empty).Replace("\r\n", "").Length; if (Te > ctl._Tu - 1 && ctl._Den + 1 > Te) { dx.SetValidationRule(ctl._Control, new TextValidationRule(ctl._ThongBao2, ctl._ChoQua)); } else { dx.SetValidationRule(ctl._Control, new TextValidationRule(string.Format("Nhập từ {0} đến {1}", ctl._Tu, ctl._Den), false)); } } } }
protected void SetValidationRuleAligRight(DXValidationProvider provider, Control control, ValidationRuleBase rule) { if (!_validationSort.Keys.Contains(control.Name)) { _validationSort.Add(control.Name, string.Empty); } provider.SetValidationRule(control, rule); provider.SetIconAlignment(control, ErrorIconAlignment.MiddleRight); }
/// <summary> /// Contains /// </summary> /// <param name="dxProvider"></param> /// <param name="control"></param> /// <param name="value"></param> /// <param name="align"></param> /// <param name="type"></param> /// <param name="errorText"></param> public static void Contains(DXValidationProvider dxProvider, Control control, object value, ErrorIconAlignment align, ErrorType type, string errorText) { ConditionValidationRule rule = new ConditionValidationRule { ConditionOperator = ConditionOperator.Contains, ErrorText = errorText, ErrorType = type, Value1 = value }; dxProvider.SetIconAlignment(control, align); dxProvider.SetValidationRule(control, rule); }
/// <summary> /// Notblank /// </summary> /// <param name="dxProvider"></param> /// <param name="control"></param> /// <param name="align"></param> /// <param name="type"></param> /// <param name="errorText"></param> public static void NotBlank(DXValidationProvider dxProvider, Control control, ErrorIconAlignment align, ErrorType type, string errorText) { ConditionValidationRule rule = new ConditionValidationRule { ConditionOperator = ConditionOperator.IsNotBlank, ErrorText = errorText, ErrorType = type }; dxProvider.SetIconAlignment(control, align); dxProvider.SetValidationRule(control, rule); }
/// <summary> /// 设定控件的值不能为空白 /// </summary> /// <param name="dXValidationProvider">验证对象提供者</param> /// <param name="ctl">控件对象</param> /// <param name="messageId">出错信息,可以用ID,可以用字符串</param> public static void SetControlValidBlank(DXValidationProvider dXValidationProvider, Control ctl, string messageId) { ConditionValidationRule notEmptyValidationRule = new ConditionValidationRule(); notEmptyValidationRule.ConditionOperator = ConditionOperator.IsNotBlank; notEmptyValidationRule.ErrorText = messageId; dXValidationProvider.SetValidationRule(ctl, notEmptyValidationRule); dXValidationProvider.SetIconAlignment(ctl, ErrorIconAlignment.MiddleRight); }
/// <summary> /// 验证控件的值介一个区间内 /// </summary> /// <param name="dXValidationProvider">验证对象提供者</param> /// <param name="ctl">控件对象</param> /// <param name="messageId">出错信息,可以用ID,可以用字符串</param> /// <param name="value1">起始值</param> /// <param name="value2">结束值</param> public static void SetControlValidBetween(DXValidationProvider dXValidationProvider, Control ctl, string messageId, DateTime value1, DateTime value2) { ConditionValidationRule rangeValidationRule = new ConditionValidationRule(); rangeValidationRule.ConditionOperator = ConditionOperator.Between; rangeValidationRule.Value1 = value1; rangeValidationRule.Value2 = value2; rangeValidationRule.ErrorText = messageId; dXValidationProvider.SetValidationRule(ctl, rangeValidationRule); dXValidationProvider.SetIconAlignment(ctl, ErrorIconAlignment.MiddleRight); }
private static void SetValidationToControl(ref Control ctr, DataRow dr) { try { if (ctr is DevExpress.XtraEditors.LookUpEdit) { DevExpress.XtraEditors.LookUpEdit led = ctr as DevExpress.XtraEditors.LookUpEdit; AddDataSource(ref led, UIMessage.DBEngine.execReturnDataTable(dr[CommonConst.Validation].ToString(), CommonConst.A_LoginID, UIMessage.userID)); } else { //Devexpress valiation rules string[] strSpl = dr[CommonConst.Validation].ToString().Split(':'); if (strSpl[0].Contains("ConditionValidationRule")) { ConditionValidationRule cvr = new ConditionValidationRule(); switch (strSpl[1]) { case "IsNotBlank": cvr.ConditionOperator = ConditionOperator.IsNotBlank; cvr.ErrorText = UIMessage.Get_Message(dr[CommonConst.ValidationMessID].ToString()); break; case "Between": cvr.ConditionOperator = ConditionOperator.Between; cvr.Value1 = Convert.ToInt64(strSpl[2]); cvr.Value2 = Convert.ToInt64(strSpl[3]); cvr.ErrorText = string.Format(UIMessage.Get_Message(dr[CommonConst.ValidationMessID].ToString()), cvr.Value1, cvr.Value2); break; case "Contains": cvr.ConditionOperator = ConditionOperator.Contains; cvr.Value1 = Convert.ToInt64(strSpl[2]); cvr.ErrorText = string.Format(UIMessage.Get_Message(dr[CommonConst.ValidationMessID].ToString()), cvr.Value1); break; case "NotAnyOf": cvr.ConditionOperator = ConditionOperator.NotAnyOf; cvr.Value1 = Convert.ToInt64(strSpl[2]); cvr.ErrorText = string.Format(UIMessage.Get_Message(dr[CommonConst.ValidationMessID].ToString()), cvr.Value1); break; } cvr.ErrorType = ErrorType.Default; dxValidationProvider1.SetValidationRule(ctr, cvr); dxValidationProvider1.ValidationMode = ValidationMode.Auto; } } } catch (Exception ex) { Helper.LogError(ex, ex.Message, "SetValidationToControl"); } }
protected static void SetValidationRuleAligRight(DXValidationProvider provider, Control control, ValidationRuleBase rule) { provider.SetValidationRule(control, rule); provider.SetIconAlignment(control, ErrorIconAlignment.MiddleRight); }
void CreateControl() { flowLayoutPanel1.Controls.Clear(); ConditionValidationRule notEmptyValidationRule = new ConditionValidationRule(); notEmptyValidationRule.ConditionOperator = ConditionOperator.IsNotBlank; //验证条件 notEmptyValidationRule.ErrorText = "此栏不能为空!"; //提示信息 notEmptyValidationRule.ErrorType = ErrorType.Default; //错误提示类别 if (_users != null && _users.Any()) { _users.ForEach(x => { LabelControl lbl = new LabelControl(); lbl.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; lbl.AutoSizeMode = DevExpress.XtraEditors.LabelAutoSizeMode.None; lbl.Dock = System.Windows.Forms.DockStyle.Left; lbl.Location = new System.Drawing.Point(2, 2); lbl.Size = new System.Drawing.Size(80, 26); lbl.Text = x.name; TextEdit txt = new TextEdit(); txt.Location = new System.Drawing.Point(88, 5); txt.Size = new System.Drawing.Size(250, 20); txt.Tag = x; txtList.Add(txt); dxvalidation.SetValidationRule(txt, notEmptyValidationRule); PanelControl panel = new PanelControl(); panel.Location = new System.Drawing.Point(3, 3); panel.Size = new System.Drawing.Size(370, 30); panel.Controls.Add(lbl); panel.Controls.Add(txt); panel.BorderStyle = DevExpress.XtraEditors.Controls.BorderStyles.NoBorder; flowLayoutPanel1.Controls.Add(panel); switch (_inteway) { case 1: //邮件 groupControlType.Text = "电子邮件地址"; txt.Text = x.email; txt.Properties.Mask.EditMask = "\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*"; txt.Properties.Mask.MaskType = DevExpress.XtraEditors.Mask.MaskType.RegEx; break; case 2: //短信 groupControlType.Text = "手机号码"; txt.Text = x.phone; txt.Properties.Mask.EditMask = "[1-9]{2}[0-9]{9}"; txt.Properties.Mask.MaskType = DevExpress.XtraEditors.Mask.MaskType.RegEx; break; case 3: //电话 groupControlType.Text = "手机(电话)号码"; txt.Text = string.IsNullOrWhiteSpace(x.phone) ? x.tel : x.phone; txt.Properties.Mask.EditMask = "(\\d{3,4}-\\d{8})|([1-9]{2}[0-9]{9})"; txt.Properties.Mask.IgnoreMaskBlank = false; txt.Properties.Mask.MaskType = DevExpress.XtraEditors.Mask.MaskType.RegEx; break; case 4: //面访 groupControlType.Text = "面访地址"; txt.Text = x.address; break; } }); Height = 80 + 26 * _users.Count; } }
/// <summary> /// 验证控件的值是否大于或等于指定的值 /// </summary> /// <param name="dXValidationProvider">验证对象提供者</param> /// <param name="ctl">控件对象</param> /// <param name="messageId">出错信息,可以用ID,可以用字符串</param> /// <param name="value1">指定的值</param> public static void SetControlValidGreaterOrEqual(DXValidationProvider dXValidationProvider, Control ctl, string messageId, decimal value1) { ConditionValidationRule rangeValidationRule = new ConditionValidationRule(); rangeValidationRule.ConditionOperator = ConditionOperator.GreaterOrEqual; rangeValidationRule.Value1 = ctl.Text ; rangeValidationRule.Value2 = value1; rangeValidationRule.ErrorText = messageId; dXValidationProvider.SetValidationRule(ctl, rangeValidationRule); dXValidationProvider.SetIconAlignment(ctl, ErrorIconAlignment.MiddleRight); }
/// <summary> /// 验证控件的值是否大于指定的值 /// </summary> /// <param name="dXValidationProvider">验证对象提供者</param> /// <param name="ctl">控件对象</param> /// <param name="messageId">出错信息,可以用ID,可以用字符串</param> /// <param name="value1">指定的值</param> public static void SetControlValidGreater(DXValidationProvider dXValidationProvider, Control ctl, string messageId, DateTime value1) { ConditionValidationRule rangeValidationRule = new ConditionValidationRule(); rangeValidationRule.ConditionOperator = ConditionOperator.Greater; rangeValidationRule.Value1 =DateTime.Parse(value1.ToString("HH:mm")); rangeValidationRule.Value2 =DateTime.Parse(ctl.Text ); rangeValidationRule.ErrorText = messageId; dXValidationProvider.SetValidationRule(ctl, rangeValidationRule); dXValidationProvider.SetIconAlignment(ctl, ErrorIconAlignment.MiddleRight); }