Validator.TryValidateObjectAsync Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Sobrecargas
| Nome | Description |
|---|---|
| TryValidateObjectAsync(Object, ValidationContext, ICollection<ValidationResult>, CancellationToken) |
Testa de forma assíncrona se a instância de objeto determinada é válida. |
| TryValidateObjectAsync(Object, ValidationContext, ICollection<ValidationResult>, Boolean, CancellationToken) |
Testa de forma assíncrona se a instância de objeto determinada é válida. |
TryValidateObjectAsync(Object, ValidationContext, ICollection<ValidationResult>, CancellationToken)
- Origem:
- Validator.cs
Testa de forma assíncrona se a instância de objeto determinada é válida.
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Constructing a ValidationContext without a display name is not trim-safe because it uses reflection to discover the type of the instance being validated in order to resolve the DisplayNameAttribute when a display name is not provided.")]
public static System.Threading.Tasks.Task<bool> TryValidateObjectAsync(object instance, System.ComponentModel.DataAnnotations.ValidationContext validationContext, System.Collections.Generic.ICollection<System.ComponentModel.DataAnnotations.ValidationResult>? validationResults, System.Threading.CancellationToken cancellationToken = default);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Constructing a ValidationContext without a display name is not trim-safe because it uses reflection to discover the type of the instance being validated in order to resolve the DisplayNameAttribute when a display name is not provided.")>]
static member TryValidateObjectAsync : obj * System.ComponentModel.DataAnnotations.ValidationContext * System.Collections.Generic.ICollection<System.ComponentModel.DataAnnotations.ValidationResult> * System.Threading.CancellationToken -> System.Threading.Tasks.Task<bool>
Public Shared Function TryValidateObjectAsync (instance As Object, validationContext As ValidationContext, validationResults As ICollection(Of ValidationResult), Optional cancellationToken As CancellationToken = Nothing) As Task(Of Boolean)
Parâmetros
- instance
- Object
A instância de objeto a ser testada. Não pode ser null.
- validationContext
- ValidationContext
Descreve o objeto a ser validado e fornece serviços e contexto para os validadores.
- validationResults
- ICollection<ValidationResult>
Uma coleção opcional que recebe falhas de validação como ValidationResult instâncias.
- cancellationToken
- CancellationToken
Um CancellationToken para observar enquanto aguarda a conclusão da tarefa.
Retornos
Um Task<TResult> valor que será true se o objeto for válido, false se algum erro de validação for encontrado.
- Atributos
Exceções
Quando instance é null.
Quando validationContext é null.
Quando instance não corresponde ao ObjectInstance ativado validationContext.
A operação de validação foi cancelada.
Comentários
Esse método avalia todos os ValidationAttributeanexos ao tipo da instância de objeto. Ele também verifica se todas as propriedades marcadas com RequiredAttribute estão definidas. Ele não valida os ValidationAttributes em propriedades individuais do objeto, a menos que TryValidateObjectAsync(Object, ValidationContext, ICollection<ValidationResult>, Boolean, CancellationToken) seja chamado com validateAllProperties definido como true.
A validação é executada em três estágios: validação de propriedade, validação de atributo no nível do tipo e validação no nível do objeto. Cada estágio será executado somente se os estágios anteriores forem bem-sucedidos. A validação no nível do objeto prefere invocar ValidateAsync(ValidationContext, CancellationToken) quando implementada, com Validate(ValidationContext) como um fallback para objetos que implementam apenas a interface síncrona. Ele não invoca ambos.
Aplica-se a
TryValidateObjectAsync(Object, ValidationContext, ICollection<ValidationResult>, Boolean, CancellationToken)
- Origem:
- Validator.cs
Testa de forma assíncrona se a instância de objeto determinada é válida.
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Constructing a ValidationContext without a display name is not trim-safe because it uses reflection to discover the type of the instance being validated in order to resolve the DisplayNameAttribute when a display name is not provided.")]
public static System.Threading.Tasks.Task<bool> TryValidateObjectAsync(object instance, System.ComponentModel.DataAnnotations.ValidationContext validationContext, System.Collections.Generic.ICollection<System.ComponentModel.DataAnnotations.ValidationResult>? validationResults, bool validateAllProperties, System.Threading.CancellationToken cancellationToken = default);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Constructing a ValidationContext without a display name is not trim-safe because it uses reflection to discover the type of the instance being validated in order to resolve the DisplayNameAttribute when a display name is not provided.")>]
static member TryValidateObjectAsync : obj * System.ComponentModel.DataAnnotations.ValidationContext * System.Collections.Generic.ICollection<System.ComponentModel.DataAnnotations.ValidationResult> * bool * System.Threading.CancellationToken -> System.Threading.Tasks.Task<bool>
Public Shared Function TryValidateObjectAsync (instance As Object, validationContext As ValidationContext, validationResults As ICollection(Of ValidationResult), validateAllProperties As Boolean, Optional cancellationToken As CancellationToken = Nothing) As Task(Of Boolean)
Parâmetros
- instance
- Object
A instância de objeto a ser testada. Não pode ser null.
- validationContext
- ValidationContext
Descreve o objeto a ser validado e fornece serviços e contexto para os validadores.
- validationResults
- ICollection<ValidationResult>
Uma coleção opcional que recebe falhas de validação como ValidationResult instâncias.
- validateAllProperties
- Boolean
Se truetambém avaliar todas as propriedades do objeto (esse processo não é recursivo sobre as propriedades das propriedades).
- cancellationToken
- CancellationToken
Um CancellationToken para observar enquanto aguarda a conclusão da tarefa.
Retornos
Um Task<TResult> valor que será true se o objeto for válido, false se algum erro de validação for encontrado.
- Atributos
Exceções
Quando instance é null.
Quando validationContext é null.
Quando instance não corresponde ao ObjectInstance ativado validationContext.
A operação de validação foi cancelada.
Comentários
Esse método avalia todos os ValidationAttributeanexos ao tipo da instância de objeto. Ele também verifica se todas as propriedades marcadas com RequiredAttribute estão definidas. Se validateAllProperties for true, esse método também avalia os ValidationAttributes para todas as propriedades imediatas desse objeto. Esse processo não é recursivo.
Quando validateAllProperties é true, a validação é iniciada para cada propriedade em sequência. Atributos síncronos para uma execução de propriedade antes que os atributos assíncronos dessa propriedade sejam aguardados. A validação assíncrona que permanece em andamento pode se sobrepor à validação assíncrona para outras propriedades.
Quando validationResults é null, a validação é interrompida após o primeiro erro de propriedade (curto-circuito entre propriedades). Todos os validadores assíncronos em pré-lançamento em outras propriedades são cancelados cooperativamente. Quando validationResults não for nulo, todas as propriedades serão concluídas e todos os erros serão coletados.
Retorna Task<TResult> para interoperabilidade com padrões de composição assíncrona padrão, como Task.WhenAll e Task.WhenAny.
A validação é executada em três estágios: validação de propriedade, validação de atributo no nível do tipo e validação no nível do objeto. Cada estágio será executado somente se os estágios anteriores forem bem-sucedidos. A validação no nível do objeto prefere invocar ValidateAsync(ValidationContext, CancellationToken) quando implementada, com Validate(ValidationContext) como um fallback para objetos que implementam apenas a interface síncrona. Ele não invoca ambos.