Example #1
0
 public static async Task AssertTypeValidatorsAsync(IRequest req, object requestDto, Type requestType)
 {
     if (TypeRulesMap.TryGetValue(requestType, out var typeValidators))
     {
         foreach (var scriptValidator in typeValidators)
         {
             await scriptValidator.ThrowIfNotValidAsync(requestDto, req);
         }
     }
 }
Example #2
0
        public static void AddRule(Type type, PropertyInfo pi, ValidateAttribute attr)
        {
            var typeRules = TypeRulesMap.TryGetValue(type, out var rules)
                ? rules
                : TypeRulesMap[type] = new List <IValidationRule>();

            var rule = typeRules.FirstOrDefault(x => (x as PropertyRule)?.PropertyName == pi.Name);

            if (rule == null)
            {
                typeRules.Add(rule = CreatePropertyRule(type, pi));
            }

            var validators = (List <IPropertyValidator>)rule.Validators;

            validators.AddRule(pi, attr);
        }
Example #3
0
 public static List <ITypeValidator> GetTypeRules(Type type) => TypeRulesMap.TryGetValue(type, out var rules)
     ? rules
     : TypeConstants <ITypeValidator> .EmptyList;