private void NotifyValidationStatusChanged(ValidationStatus status, IEnumerable <string> messages = null) { ValidationStatusChanged?.Invoke(this, new ValidationStatusChangedEventArgs(status, messages)); StatusChanged.InvokeAsync(status); ParentValidations?.NotifyValidationStatusChanged(this); }
public ValidationResultProxy Validate() { var result = OnValidate(); ValidationStatusChanged?.Invoke(result.IsValid); return(new ValidationResultProxy(result)); }
/// <summary> /// Runs the validation process. /// </summary> public ValidationStatus Validate() { if (UsePattern && patternRegex != null) { var matchStatus = patternRegex.IsMatch(inputComponent.ValidationValue?.ToString() ?? string.Empty) ? ValidationStatus.Success : ValidationStatus.Error; if (Status != matchStatus) { Status = matchStatus; ValidationStatusChanged?.Invoke(this, new ValidationStatusChangedEventArgs(Status)); } } else if (EditContext != null && hasFieldIdentifier) { Validating?.Invoke(); var messages = new ValidationMessageStore(EditContext); EditContext.ValidateField(messages, fieldIdentifier); Status = messages[fieldIdentifier].Any() ? ValidationStatus.Error : ValidationStatus.Success; LastErrorMessage = Status == ValidationStatus.Error ? string.Join("; ", messages[fieldIdentifier]) : null; ValidationStatusChanged?.Invoke(this, new ValidationStatusChangedEventArgs(Status, LastErrorMessage)); } else { var validatorHandler = Validator; if (validatorHandler != null) { Validating?.Invoke(); var validatorEventArgs = new ValidatorEventArgs(inputComponent.ValidationValue); validatorHandler(validatorEventArgs); if (Status != validatorEventArgs.Status) { Status = validatorEventArgs.Status; LastErrorMessage = Status == ValidationStatus.Error ? validatorEventArgs.ErrorText : null; ValidationStatusChanged?.Invoke(this, new ValidationStatusChangedEventArgs(Status, LastErrorMessage)); } } } return(Status); }
/// <inheritdoc/> public void NotifyValidationStatusChanged(ValidationStatus status, IEnumerable <string> messages = null) { // raise events only if status or message is changed to prevent unnecessary re-renders if (Status != status || (Messages?.AreEqual(messages) == false)) { Status = status; Messages = messages; ValidationStatusChanged?.Invoke(this, new(status, messages) ); InvokeAsync(() => StatusChanged.InvokeAsync(status)); ParentValidations?.NotifyValidationStatusChanged(this); } }
public void RaiseValidationStatus(bool validationSuccessful) { ValidationStatusChanged?.Invoke(this, new ValidationStatusChangedEventArgs(validationSuccessful)); }
private void NotifyValidationStatusChanged(ValidationStatus status, string message = null) { ValidationStatusChanged?.Invoke(this, new ValidationStatusChangedEventArgs(status, message)); ParentValidations?.NotifyValidationStatusChanged(); }
/// <summary> /// Clears the validation status. /// </summary> public void Clear() { Status = ValidationStatus.None; ValidationStatusChanged?.Invoke(this, new ValidationStatusChangedEventArgs(Status)); }