AsyncValidationAttribute.IsValidAsync Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Invalide este método en subclases para implementar la lógica de validación asincrónica.
protected:
abstract System::Threading::Tasks::Task<System::ComponentModel::DataAnnotations::ValidationResult ^> ^ IsValidAsync(System::Object ^ value, System::ComponentModel::DataAnnotations::ValidationContext ^ validationContext, System::Threading::CancellationToken cancellationToken);
protected abstract System.Threading.Tasks.Task<System.ComponentModel.DataAnnotations.ValidationResult?> IsValidAsync(object? value, System.ComponentModel.DataAnnotations.ValidationContext validationContext, System.Threading.CancellationToken cancellationToken);
abstract member IsValidAsync : obj * System.ComponentModel.DataAnnotations.ValidationContext * System.Threading.CancellationToken -> System.Threading.Tasks.Task<System.ComponentModel.DataAnnotations.ValidationResult>
Protected MustOverride Function IsValidAsync (value As Object, validationContext As ValidationContext, cancellationToken As CancellationToken) As Task(Of ValidationResult)
Parámetros
- value
- Object
El valor que se debe validar.
- validationContext
- ValidationContext
Instancia ValidationContext que proporciona contexto sobre la operación de validación, como el objeto y el miembro que se está validando. Proporciona acceso a los servicios necesarios para realizar la validación mediante IServiceProvider.
- cancellationToken
- CancellationToken
Que CancellationToken se debe observar mientras espera a que se complete la tarea.
Devoluciones
que Task<TResult> representa la operación de validación asincrónica.
Cuando la validación es válida, el resultado es Success.
Cuando la validación no es válida, el resultado es una instancia de ValidationResult.
Comentarios
Este método debe realizar todas las comprobaciones aplicables, incluidas las comprobaciones que se pueden ejecutar de forma sincrónica. La implementación sincrónica IsValid(Object, ValidationContext) no se invoca automáticamente antes de este método. Comparta comprobaciones comunes a través de un asistente cuando sea necesario.
Las implementaciones deben observar el trabajo proporcionado cancellationToken y detener el trabajo rápidamente cuando se solicite la cancelación. La infraestructura de validación puede cancelar este token después de un error de validación para detener los validadores del mismo nivel y espera todas las tareas de validación iniciadas antes de devolver. Una implementación que omite la cancelación puede retrasar el error y el cortocircuito.