Idioma

AsyncValidationAttribute.IsValidAsync Método

Definição

Substitua esse método em subclasses para implementar a lógica de validação assíncrona.

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

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.

Comentários

Esse método deve executar todas as verificações aplicáveis, incluindo verificações que podem ser executadas de forma síncrona. A implementação síncrona IsValid(Object, ValidationContext) não é invocada automaticamente antes desse método. Compartilhe verificações comuns por meio de um auxiliar quando necessário.

As implementações devem observar o trabalho fornecido cancellationToken e interromper o trabalho imediatamente quando o cancelamento for solicitado. A infraestrutura de validação pode cancelar esse token após uma falha de validação para interromper validadores irmãos e aguarda todas as tarefas de validação iniciadas antes de retornar. Uma implementação que ignora o cancelamento pode atrasar a falha e o curto-circuito.

Aplica-se a