/// <summary> /// /// </summary> /// <param name="criterionName"></param> /// <param name="level"></param> /// <param name="caseSensitive"></param> /// <param name="trim"></param> /// <param name="customMessages"></param> /// <param name="v1"></param> /// <param name="v2"></param> public AndValidCriterion(string criterionName, ValidationLevel level, bool caseSensitive, bool trim, CustomValidationMessages customMessages, ValidationCriterion v1, ValidationCriterion v2) : base(criterionName, level, caseSensitive, trim, customMessages) { this.m_criterion1 = v1; this.m_criterion2 = v2; }
/// <summary> /// /// </summary> /// <param name="criterionName"></param> /// <param name="level"></param> /// <param name="caseSensitive"></param> /// <param name="trim"></param> /// <param name="customMessages"></param> /// <param name="v1"></param> /// <param name="v2"></param> public AndValidCriterion(string criterionName, ValidationLevel level, bool caseSensitive, bool trim, CustomValidationMessages customMessages, ValidationCriterion v1, ValidationCriterion v2) : base(criterionName, level, caseSensitive, trim, customMessages) { this.m_criterion1 = v1; this.m_criterion2 = v2; }
public static bool IsMatch(ValidationCriterion validationCriterion, string input, int min, int max) { if (!(input.Length >= min && input.Length <= max)) { return(false); } return(IsMatchHelper(validationCriterion, input)); }
/// <summary> /// Does the actual validation for the validation criterion passed in /// </summary> /// <param name="validationStategy">which validation criterion to use</param> /// <param name="input">the string to validate</param> /// <returns>true if input matches the given validation criterion, false otherwise</returns> private static bool IsMatchHelper(ValidationCriterion validationCriterion, string input) { switch (validationCriterion) { case ValidationCriterion.AlphanumericOnly: return(_alphanumeric.IsMatch(input)); case ValidationCriterion.SpecialCharacter: return(_specialCharacter.IsMatch(input)); case ValidationCriterion.AlphabeticOnly: return(_alphabetic.IsMatch(input)); } return(false); }
public void AddValidations() { IList <GridColumnInfo> gridColumnInfos = ADInfoBll.Instance.GetGridColumnInfos(m_grid.GridName); if (gridColumnInfos.Count > 0) { foreach (GridColumnInfo columnInfo in gridColumnInfos) { ValidationCriterion cri = GetValidationCriterion(columnInfo, m_cm); if (cri != null) { SetGridValidation(columnInfo.GridColumnName, cri); } } } else { CreatePropertyValidations(); } }
internal static ValidationCriterion GetValidationCriterion(GridColumnInfo columnInfo, IControlManager cm) { ValidationCriterion cri1 = null; if (!string.IsNullOrEmpty(columnInfo.ValidRegularExpression)) { cri1 = new MyRegularExpressionCriterion(columnInfo.GridColumnName, Xceed.Validation.ValidationLevel.Manual, new System.Text.RegularExpressions.Regex(columnInfo.ValidRegularExpression, System.Text.RegularExpressions.RegexOptions.Singleline), false, true, new Xceed.Validation.CustomValidationMessages()); cri1.CustomValidationMessages.RegularExpression = columnInfo.ValidErrorMessage; } ValidationCriterion cri2 = null; if (!string.IsNullOrEmpty(columnInfo.ValidScript)) { cri2 = new ScriptCriterion(columnInfo.GridColumnName, Xceed.Validation.ValidationLevel.Manual, columnInfo.ValidScript, new Dictionary <string, object> { { "cm", cm } }, false, true, new Xceed.Validation.CustomValidationMessages()); cri2.CustomValidationMessages.RegularExpression = columnInfo.ValidErrorMessage; } ValidationCriterion cri3 = null; if (Authority.AuthorizeByRule(columnInfo.NotNull)) { cri3 = new RequiredFieldCriterion(columnInfo.GridColumnName, Xceed.Validation.ValidationLevel.Manual, GridColumnInfoHelper.CreateType(columnInfo), false, true, new Xceed.Validation.CustomValidationMessages()); } var ret = TryAndValidations(TryAndValidations(cri1, cri2), cri3); if (ret != null) { ret.Name = columnInfo.GridColumnName; } return(ret); }
/// <summary> /// 按照Property来默认设置Validation /// </summary> private void CreatePropertyValidations() { foreach (Xceed.Grid.Column column in m_grid.Columns) { if (!column.Visible) { continue; } GridColumnInfo info = column.Tag as GridColumnInfo; if (info == null) { continue; } if (string.IsNullOrEmpty(info.Navigator) && !string.IsNullOrEmpty(info.PropertyName)) { var attribute = m_cm.DisplayManager.EntityInfo.GetPropertMetadata(info.PropertyName); if (attribute != null) { ValidationCriterion cri1 = null; if (attribute.NotNull) { cri1 = new RequiredFieldCriterion(info.GridColumnName, ValidationLevel.Manual, column.DataType, false, true, null); } ValidationCriterion cri2 = null; if (attribute.Length > 0) { cri2 = new MaxLengthFieldCriterion(info.GridColumnName, ValidationLevel.Manual, attribute.Length, false, true, null); } SetGridValidation(column.FieldName, TryAndValidations(cri1, cri2)); } } } }
private static ValidationCriterion TryAndValidations(ValidationCriterion cri1, ValidationCriterion cri2) { ValidationCriterion cri = null; if (cri1 != null || cri2 != null) { if (cri1 != null && cri2 != null) { cri = new AndValidCriterion(cri1.Name + "_And_" + cri2.Name, Xceed.Validation.ValidationLevel.Manual, false, true, new Xceed.Validation.CustomValidationMessages(), cri1, cri2); } else if (cri1 != null) { cri = cri1; } else { cri = cri2; } } return(cri); }
private static ValidationCriterion TryAndValidations(ValidationCriterion cri1, ValidationCriterion cri2) { ValidationCriterion cri = null; if (cri1 != null || cri2 != null) { if (cri1 != null && cri2 != null) { cri = new AndValidCriterion(cri1.Name + "_And_" + cri2.Name, Xceed.Validation.ValidationLevel.Manual, false, true, new Xceed.Validation.CustomValidationMessages(), cri1, cri2); } else if (cri1 != null) { cri = cri1; } else { cri = cri2; } } return cri; }