GitHub.Authentication.ViewModels.Validation.ModelValidator.ModelValidator C# (CSharp) Method

ModelValidator() public method

public ModelValidator ( ) : System
return System
        public ModelValidator(params PropertyValidator[] propertyValidators)
        {
            if (propertyValidators == null) throw new ArgumentNullException(nameof(propertyValidators));

            // Protect against mutations of the supplied array.
            var validators = propertyValidators.ToList();

            // This would be a lot cleaner with ReactiveUI but
            // here we are.
            foreach (var validator in validators)
            {
                validator.PropertyChanged += (s, e) =>
                {
                    if (e.PropertyName != nameof(validator.ValidationResult)) return;

                    IsValid = validators.All(v => v.ValidationResult.IsValid);
                };
            }
        }
ModelValidator