public static ValidationResult validate(Lib.FieldInfo f, ValidationTypeEnum validationType, object value) { ValidationResult vr = new ValidationResult(); List <IValidationFunction> tmp = null; switch (validationType) { case ValidationTypeEnum.business: tmp = f.validationInfo.businessValidationRuleFullList; break; case ValidationTypeEnum.leave: tmp = f.validationInfo.leaveValidationRuleFullList; break; case ValidationTypeEnum.symbol: tmp = f.validationInfo.symbolValidationRuleFullList; break; } vr.validatedValue = value; vr.validationSuccess = true; foreach (IValidationFunction ivf in tmp) { vr = ivf.validate(f, vr.validatedValue); if (vr.validationSuccess == false) { return(vr); //если какая -то из валидационных функций не пропустит, то выход } } return(vr); }
private void _Then(string message, string key, ValidationTypeEnum validationType = ValidationTypeEnum.Error) { var failed = true; foreach (var rule in this._rules) { try { failed = failed & rule(this._object); if (!failed) { break; } } catch (Exception e) { _validation.Add(BuildValidationMessage(message, key, ValidationTypeEnum.Exception)); failed = false; break; } } if (failed) { _validation.Add(BuildValidationMessage(message, key, validationType)); } // reset the rules for next validation rule _rules.Clear(); }
/// <summary> /// 验证 /// </summary> /// <param name="validationType"></param> /// <returns></returns> public static IAttributeValidation <TEntity> GetValication(ValidationTypeEnum validationType) { switch (validationType) { case ValidationTypeEnum.Required: return(new RequiredAttributeValidation <TEntity>()); case ValidationTypeEnum.Length: return(new LengthAttributeValidation <TEntity>()); case ValidationTypeEnum.Range: return(new RangeAttributeValidation <TEntity>()); case ValidationTypeEnum.Format: return(new FormatAttributeValidation <TEntity>()); } return(null); }
public AsyncValidationAttribute(ValidationTypeEnum validationType) { ValidationType = validationType; }
public virtual IValidationResult BuildValidationMessage(string message, string key, ValidationTypeEnum validationType) { return(new ValidationResult { Message = message, Key = key, ValidationType = validationType }); }
public Validation(ValidationTypeEnum validationType, string target, string message) { Error = new Error(validationType, target, message); }