public void ValidateMethodShouldRaiseErrorsChangedEvent() { int countInvoke = 0; ValidatorBase validator = GetValidator(); INotifyDataErrorInfo notifyDataError = validator; notifyDataError.ErrorsChanged += (sender, args) => { args.PropertyName.ShouldEqual(PropertyToValidate); countInvoke++; }; validator.Initialize(new ValidatorContext(new object(), GetServiceProvider())); notifyDataError.HasErrors.ShouldBeFalse(); validator.UpdateErrors(PropertyToValidate, ValidatorErrors, false); countInvoke.ShouldEqual(1); notifyDataError.HasErrors.ShouldBeTrue(); if (validator is ManualValidator) { validator.UpdateErrors(PropertyToValidate, ValidatorErrors, false); } else { validator.ValidateAsync(PropertyToValidate); } countInvoke.ShouldEqual(2); }
public virtual void ValidatorShouldClearOldErrorsValidateAll() { ValidatorBase validator = GetValidator(); validator.Initialize(new ValidatorContext(new object(), GetServiceProvider())); validator.UpdateErrors(PropertyToValidate, ValidatorErrors, false); validator.ValidateAsync().Wait(); if (validator is ManualValidator) { var allErrors = validator.GetErrors(); allErrors.Count.ShouldEqual(1); allErrors[PropertyToValidate].Single().ShouldEqual(ValidatorErrors[0]); } else { validator.IsValid.ShouldBeTrue(); } }