Idioma

IAsyncValidatableObject Interface

Definição

Fornece uma forma de validar um objeto de forma assíncrona.

public interface class IAsyncValidatableObject : System::ComponentModel::DataAnnotations::IValidatableObject
public interface IAsyncValidatableObject : System.ComponentModel.DataAnnotations.IValidatableObject
type IAsyncValidatableObject = interface
    interface IValidatableObject
Public Interface IAsyncValidatableObject
Implements IValidatableObject
Implementações

Observações

Quando um objeto implementa IAsyncValidatableObject, as APIs assíncronas Validator (como TryValidateObjectAsync(Object, ValidationContext, ICollection<ValidationResult>, CancellationToken)) invocam apenas ValidateAsync(ValidationContext, CancellationToken); Validate(ValidationContext) não é chamado no caminho assíncrono. As APIs síncronas Validator continuam a invocar Validate(ValidationContext).

Fornecer uma implementação síncrona de Validate(ValidationContext) quando pode avaliar as regras aplicáveis, retornando erros de validação para regras que rejeitam o objeto. Se uma regra obrigatória se aplicar mas não puder ser avaliada de forma síncrona, InvalidOperationException envie uma mensagem a direcionar os chamadores para um ponto de entrada de validação assíncrona.

Não devolver erros de validação sem avaliar uma regra é apropriado apenas quando a regra não se aplica. Não devolva um resultado vazio apenas porque se aplica uma verificação assíncrona obrigatória mas não pode ser executada de forma síncrona. Um resultado vazio não indica validação pendente nem organiza uma invocação assíncrona posterior.

Não implemente Validate(ValidationContext) bloqueando trabalhos assíncronos ou resultados enumerados assíncronos.

Métodos

Nome Descrição
Validate(ValidationContext)

Determina se o objeto especificado é válido.

(Herdado de IValidatableObject)
ValidateAsync(ValidationContext, CancellationToken)

Determina se o objeto especificado é válido de forma assíncrona, gerando resultados de validação à medida que cada verificação é concluída.

Aplica-se a