Idioma

AsyncValidationAttribute.GetValidationResultAsync Método

Definição

Testa se o determinado value é válido de forma assíncrona em relação ao atributo de validação atual sem gerar um ValidationException.

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

O valor a ser validado.

validationContext
ValidationContext

Uma ValidationContext instância que fornece contexto sobre a operação de validação, como o objeto e o membro que está sendo validado. Fornece acesso aos serviços necessários para executar a validação usando IServiceProvider.

cancellationToken
CancellationToken

Um CancellationToken para observar enquanto aguarda a conclusão da tarefa.

Retornos

Um Task<TResult> que representa a operação de validação assíncrona.

Quando a validação é válida, o resultado é Success.

Quando a validação é inválida, o resultado é uma instância de ValidationResult.

Exceções

O atributo atual está malformado.

Quando validationContext é null.

A operação de validação foi cancelada.

Comentários

A implementação subjacente IsValidAsync(Object, ValidationContext, CancellationToken) deve observar o trabalho fornecido cancellationToken e interromper o trabalho imediatamente quando o cancelamento for solicitado. A infraestrutura de validação aguarda todas as tarefas de validação iniciadas antes de retornar, portanto, uma implementação que ignora o cancelamento pode atrasar a falha e o curto-circuito.

Os chamadores que precisam associar o tempo de validação devem passar um token configurado para cancelar após um tempo limite, como um de um CancellationTokenSource configurado com CancelAfter(TimeSpan).

Aplica-se a