internal void NotifyValidationStatusChanged(IValidation validation) { // Here we need to call ValidatedAll only when in Auto mode. Manuall call is already called through ValidateAll() if (Mode == ValidationMode.Manual) { return; } // NOTE: there is risk of calling RaiseStatusChanged multiple times for every field error. // Try to come up with solution that StatusChanged will be called only once while it will // still provide all of the failed messages. if (AllValidationsSuccessful) { RaiseStatusChanged(ValidationStatus.Success, null); ValidatedAll.InvokeAsync(null); } else if (HasFailedValidations) { RaiseStatusChanged(ValidationStatus.Error, FailedValidations); } else { RaiseStatusChanged(ValidationStatus.None, null); } }
/// <summary> /// Runs the validation process for all validations and returns false if any is failed. /// </summary> public bool ValidateAll() { var result = TryValidateAll(); if (result) { ValidatedAll?.Invoke(); } return(result); }
/// <summary> /// Runs the validation process for all validations and returns false if any is failed. /// </summary> public bool ValidateAll() { var result = TryValidateAll(); if (result) { ValidatedAll.InvokeAsync(null); } return(result); }
internal void NotifyValidationStatusChanged() { if (Mode == ValidationMode.Manual) { return; } if (validations.All(x => x.Status == ValidationStatus.Success)) { ValidatedAll.InvokeAsync(null); } }
/// <summary> /// Runs the validation process for all validations and returns false if any is failed. /// </summary> public bool ValidateAll() { var result = TryValidateAll(); if (result) { RaiseStatusChanged(ValidationStatus.Success, null); ValidatedAll.InvokeAsync(null); } else if (HasFailedValidations) { RaiseStatusChanged(ValidationStatus.Error, FailedValidations); } return(result); }