Example #1
0
        /// <returns>Возвращает <see langword="true"/> если объект корректен.</returns>
        public bool Validate(object validatableObject, ValidationContext validationContext = null)
        {
            results.Clear();

            if (validationContext == null)
            {
                validationContext = new ValidationContext(validatableObject, null, null);
            }

            var isValid = Validator.TryValidateObject(validatableObject, validationContext, results, true);

            if (!isValid && validationViewFactory != null)
            {
                IValidationView view = validationViewFactory.CreateValidationView(results);
                if (view == null)
                {
                    throw new InvalidOperationException("Невозможно создать представление результатов валидации");
                }
                view.ShowModal();
            }
            return(isValid);
        }
Example #2
0
        /// <returns>Возвращает <see langword="true"/> если объекты корректны.</returns>
        public bool Validate(IEnumerable <ValidationRequest> requests)
        {
            results.Clear();

            var isValid = true;

            foreach (var request in requests)
            {
                var isItemValid = Validator.TryValidateObject(request.ValidateObject, request.ValidationContext, results, true);
                isValid &= isItemValid;
            }

            if (!isValid && validationViewFactory != null)
            {
                IValidationView view = validationViewFactory.CreateValidationView(results);
                if (view == null)
                {
                    throw new InvalidOperationException("Невозможно создать представление результатов валидации");
                }
                view.ShowModal();
            }
            return(isValid);
        }