private void OnValidating(ModelValidatingEventArgs e) { if (Validating != null) { Validating(this, e); } }
public void Validate([NotNull] ModelValidationContext validationContext, ModelValidationNode parentNode) { if (SuppressValidation) { // no-op return; } // pre-validation steps var validatingEventArgs = new ModelValidatingEventArgs(validationContext, parentNode); OnValidating(validatingEventArgs); if (validatingEventArgs.Cancel) { return; } ValidateChildren(validationContext); ValidateThis(validationContext, parentNode); // post-validation steps var validatedEventArgs = new ModelValidatedEventArgs(validationContext, parentNode); OnValidated(validatedEventArgs); var modelState = validationContext.ModelState; if (modelState.GetFieldValidationState(ModelStateKey) != ModelValidationState.Invalid) { // If a node or its subtree were not marked invalid, we can consider it valid at this point. modelState.MarkFieldValid(ModelStateKey); } }
public void Validate([NotNull] ModelValidationContext validationContext, ModelValidationNode parentNode) { if (SuppressValidation || !validationContext.ModelState.CanAddErrors) { // Short circuit if validation does not need to be applied or if we've reached the max number of // validation errors. return; } // pre-validation steps var validatingEventArgs = new ModelValidatingEventArgs(validationContext, parentNode); OnValidating(validatingEventArgs); if (validatingEventArgs.Cancel) { return; } ValidateChildren(validationContext); ValidateThis(validationContext, parentNode); // post-validation steps var validatedEventArgs = new ModelValidatedEventArgs(validationContext, parentNode); OnValidated(validatedEventArgs); var modelState = validationContext.ModelState; if (modelState.GetFieldValidationState(ModelStateKey) != ModelValidationState.Invalid) { // If a node or its subtree were not marked invalid, we can consider it valid at this point. modelState.MarkFieldValid(ModelStateKey); } }