AsyncValidationAttribute.IsValidAsync Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Substitua este método em subclasses para implementar 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 validar.
- validationContext
- ValidationContext
Uma ValidationContext instância que forneça contexto sobre a operação de validação, como o objeto e o membro a serem validados. Fornece acesso aos serviços necessários para realizar validação usando IServiceProvider.
- cancellationToken
- CancellationToken
A CancellationToken para observar enquanto se espera que a tarefa seja concluída.
Devoluções
A Task<TResult> 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.
Observações
Este método deve realizar todas as verificações aplicáveis, incluindo as verificações que podem ser executadas de forma síncrona. A implementação síncrona IsValid(Object, ValidationContext) não é automaticamente invocada antes deste método. Partilhe verificações comuns através de um assistente quando necessário.
As implementações devem observar o trabalho fornecido cancellationToken e parar prontamente quando for solicitado o cancelamento. A infraestrutura de validação pode cancelar este token após uma falha de validação para parar validadores irmãos e aguarda todas as tarefas de validação iniciadas antes de regressar. Uma implementação que ignora o cancelamento pode atrasar falhas e curtos-circuitos.