Validator.TryValidateObjectAsync 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.
Sobrecargas
| Nome | Descrição |
|---|---|
| TryValidateObjectAsync(Object, ValidationContext, ICollection<ValidationResult>, CancellationToken) |
Testa assíncronamente se a instância do objeto dada é válida. |
| TryValidateObjectAsync(Object, ValidationContext, ICollection<ValidationResult>, Boolean, CancellationToken) |
Testa assíncronamente se a instância do objeto dada é válida. |
TryValidateObjectAsync(Object, ValidationContext, ICollection<ValidationResult>, CancellationToken)
- Origem:
- Validator.cs
Testa assíncronamente se a instância do objeto dada é 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 do objeto a testar. Não pode ser null.
- validationContext
- ValidationContext
Descreve o objeto a validar 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
A CancellationToken para observar enquanto se espera que a tarefa seja concluída.
Devoluções
A, isto étrue, se o objeto for válido, false se forem encontrados erros de Task<TResult> validação.
- Atributos
Exceções
Quando instance é null.
Quando validationContext é null.
Quando instance não corresponde ao ObjectInstance .validationContext
A operação de validação foi cancelada.
Observações
Este método avalia todos ValidationAttributeos s associados ao tipo da instância do objeto. Também verifica se todas as propriedades marcadas com RequiredAttribute estão definidas. Não valida o ValidationAttributes nas propriedades individuais do objeto, a menos que TryValidateObjectAsync(Object, ValidationContext, ICollection<ValidationResult>, Boolean, CancellationToken) seja chamado com validateAllProperties definido para true.
A validação decorre em três etapas: validação de propriedades, validação de atributos ao nível do tipo e validação ao nível do objeto. Cada fase só decorre se as fases anteriores forem bem-sucedidas. A validação ao nível do objeto prefere invocar ValidateAsync(ValidationContext, CancellationToken) quando implementada, como Validate(ValidationContext) recurso para objetos que implementam apenas a interface síncrona. Não invoca ambos.
Aplica-se a
TryValidateObjectAsync(Object, ValidationContext, ICollection<ValidationResult>, Boolean, CancellationToken)
- Origem:
- Validator.cs
Testa assíncronamente se a instância do objeto dada é 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 do objeto a testar. Não pode ser null.
- validationContext
- ValidationContext
Descreve o objeto a validar 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 true, também avalia todas as propriedades do objeto (este processo não é recursivo sobre as propriedades das propriedades).
- cancellationToken
- CancellationToken
A CancellationToken para observar enquanto se espera que a tarefa seja concluída.
Devoluções
A, isto étrue, se o objeto for válido, false se forem encontrados erros de Task<TResult> validação.
- Atributos
Exceções
Quando instance é null.
Quando validationContext é null.
Quando instance não corresponde ao ObjectInstance .validationContext
A operação de validação foi cancelada.
Observações
Este método avalia todos ValidationAttributeos s associados ao tipo da instância do objeto. Também verifica se todas as propriedades marcadas com RequiredAttribute estão definidas. Se validateAllProperties for true, este método também avalia o ValidationAttributes para todas as propriedades imediatas deste objeto. Este processo não é recursivo.
Quando validateAllProperties é true, a validação é iniciada para cada propriedade em sequência. Os atributos síncronos de uma propriedade são executados antes de serem aguardados os atributos assíncronos dessa propriedade. A validação assíncrona que permanece em curso pode sobrepor-se à validação assíncrona para outras propriedades.
Quando validationResults é null, a validação para após o primeiro erro de propriedade (curto-circuito entre propriedades). Quaisquer validadores assíncronos em voo noutras propriedades são cancelados cooperativamente. Quando validationResults é não nulo, todas as propriedades estão completas e todos os erros são recolhidos.
Retornos Task<TResult> para interoperabilidade com padrões padrão de composição assíncrona como Task.WhenAll e Task.WhenAny.
A validação decorre em três etapas: validação de propriedades, validação de atributos ao nível do tipo e validação ao nível do objeto. Cada fase só decorre se as fases anteriores forem bem-sucedidas. A validação ao nível do objeto prefere invocar ValidateAsync(ValidationContext, CancellationToken) quando implementada, como Validate(ValidationContext) recurso para objetos que implementam apenas a interface síncrona. Não invoca ambos.