AsyncValidationAttribute.GetValidationResultAsync 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í.
Comprueba si el objeto especificado value es válido de forma asincrónica con respecto al atributo de validación actual sin iniciar una ValidationExceptionexcepción .
public System.Threading.Tasks.Task<System.ComponentModel.DataAnnotations.ValidationResult?> GetValidationResultAsync(object? value, System.ComponentModel.DataAnnotations.ValidationContext validationContext, System.Threading.CancellationToken cancellationToken = default);
member this.GetValidationResultAsync : obj * System.ComponentModel.DataAnnotations.ValidationContext * System.Threading.CancellationToken -> System.Threading.Tasks.Task<System.ComponentModel.DataAnnotations.ValidationResult>
Public Function GetValidationResultAsync (value As Object, validationContext As ValidationContext, Optional cancellationToken As CancellationToken = Nothing) 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.
Excepciones
El atributo actual tiene un formato incorrecto.
Cuando validationContext es null.
Se canceló la operación de validación.
Comentarios
La implementación subyacente IsValidAsync(Object, ValidationContext, CancellationToken) debe observar el trabajo proporcionado cancellationToken y detener el trabajo rápidamente cuando se solicite la cancelación. La infraestructura de validación espera todas las tareas de validación iniciadas antes de devolver, por lo que una implementación que omite la cancelación puede retrasar el error y el cortocircuito.
Los autores de llamadas que necesitan enlazar el tiempo de validación deben pasar un token configurado para cancelar después de un tiempo de espera, como uno de un CancellationTokenSource configurado con CancelAfter(TimeSpan).