Lenguaje

AsyncValidationAttribute.GetValidationResultAsync Método

Definición

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).

Se aplica a