Example #1
0
        public AsyncPropertyValidator <TProp> AddRule(Func <TProp, Task <bool> > predicate, string errorMessage, string errorCode = null)
        {
            var validationRule = new AsyncValidationRule <TProp>(predicate, errorMessage, errorCode);

            ValidationTasks.Add(new ValidationTask(validationRule, false));

            return(this);
        }
Example #2
0
        public AsyncPropertyValidator <TProp> SetValidator(IAsyncValidator <TProp> otherValidator)
        {
            if (otherValidator == null)
            {
                throw new ArgumentNullException(nameof(otherValidator));
            }
            if (otherValidator == this)
            {
                throw new ArgumentException("Detected circular reference");
            }

            if (ValidationTasks.Any(task => task.IsOtherValidator))
            {
                throw new InvalidOperationException("There is already set other validator");
            }

            ValidationTasks.Add(new ValidationTask(otherValidator, true));

            return(this);
        }
 public void AddValidationTasksTestMethod(IList <ValidationTask> validationTasks)
 {
     ValidationTasks.AddRange(validationTasks);
 }