Пример #1
0
 public IEnumerable <ModelClientValidationRule> GetClientValidationRules(ModelMetadata metadata, ControllerContext context)
 {
     yield return(new ModelClientValidationRule {
         ErrorMessage = ErrorMessageResourceName.Localize(),
         ValidationType = "enforcetrue"
     });
 }
Пример #2
0
        protected override ValidationResult IsValid(object value, ValidationContext validationContext)
        {
            ErrorMessageResourceName = ErrorMessageResourceName.IsNotNullOrEmpty()
                ? ErrorMessageResourceName
                : MinimumLength > 0
                    ? "StringLengthAttribute_ValidationErrorIncludingMinimum"
                    : "StringLengthAttribute_ValidationError";

            var dictionary = value as IDictionary;

            if (dictionary == null)
            {
                return(ValidationResult.Success);
            }

            var invalidMembers = (from object key in dictionary.Keys
                                  let item = dictionary[key]?.ToString()
                                             where item?.Length > MaximumLength || item?.Length < MinimumLength
                                             select $"{validationContext.MemberName}[{key}]").ToList();

            return(invalidMembers.IsNotNullOrEmpty()
                ? new ValidationResult(
                       FormatErrorMessage(validationContext.DisplayName),
                       new[] { validationContext.MemberName })
                : ValidationResult.Success);
        }
Пример #3
0
 protected override ValidationResult IsValid(object value, ValidationContext validationContext)
 {
     if (OperandType == typeof(decimal) || ErrorMessageResourceName.Equals("Age"))
     {
         if (int.TryParse(value.ToString(), out int tmp) && tmp == -1)
         {
             return(ValidationResult.Success);
         }
     }
     return(base.IsValid(value, validationContext));
 }
Пример #4
0
 public override string FormatErrorMessage(string name)
 {
     return(ErrorMessageResourceName.Localize());
 }