Validator.TryValidateObjectAsync Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Surcharges
| Nom | Description |
|---|---|
| TryValidateObjectAsync(Object, ValidationContext, ICollection<ValidationResult>, CancellationToken) |
Teste de façon asynchrone si l’instance d’objet donnée est valide. |
| TryValidateObjectAsync(Object, ValidationContext, ICollection<ValidationResult>, Boolean, CancellationToken) |
Teste de façon asynchrone si l’instance d’objet donnée est valide. |
TryValidateObjectAsync(Object, ValidationContext, ICollection<ValidationResult>, CancellationToken)
- Source:
- Validator.cs
Teste de façon asynchrone si l’instance d’objet donnée est valide.
[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)
Paramètres
- instance
- Object
Instance d’objet à tester. Il ne peut pas être null.
- validationContext
- ValidationContext
Décrit l’objet à valider et fournit des services et un contexte pour les validateurs.
- validationResults
- ICollection<ValidationResult>
Collection facultative qui reçoit des échecs de validation en tant qu’instances ValidationResult .
- cancellationToken
- CancellationToken
À CancellationToken observer lors de l’attente de la fin de la tâche.
Retours
C’est-à-dire Task<TResult>true si l’objet est valide, false si des erreurs de validation sont rencontrées.
- Attributs
Exceptions
Quand instance est null.
Quand validationContext est null.
Quand instance ne correspond pas à l’on ObjectInstancevalidationContext.
L’opération de validation a été annulée.
Remarques
Cette méthode évalue tous les ValidationAttributefichiers attachés au type de l’instance d’objet. Elle vérifie également que toutes les propriétés marquées avec RequiredAttribute sont définies. Elle ne valide pas les ValidationAttributes sur des propriétés individuelles de l’objet, sauf si TryValidateObjectAsync(Object, ValidationContext, ICollection<ValidationResult>, Boolean, CancellationToken) elle est appelée avec validateAllProperties la valeur définie truesur .
La validation s’exécute en trois étapes : validation des propriétés, validation d’attribut au niveau du type et validation au niveau de l’objet. Chaque étape s’exécute uniquement si les étapes précédentes réussissent. La validation au niveau de l’objet préfère appeler ValidateAsync(ValidationContext, CancellationToken) en cas d’implémentation, avec Validate(ValidationContext) comme secours pour les objets qui implémentent uniquement l’interface synchrone. Il n’appelle pas les deux.
S’applique à
TryValidateObjectAsync(Object, ValidationContext, ICollection<ValidationResult>, Boolean, CancellationToken)
- Source:
- Validator.cs
Teste de façon asynchrone si l’instance d’objet donnée est valide.
[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)
Paramètres
- instance
- Object
Instance d’objet à tester. Il ne peut pas être null.
- validationContext
- ValidationContext
Décrit l’objet à valider et fournit des services et un contexte pour les validateurs.
- validationResults
- ICollection<ValidationResult>
Collection facultative qui reçoit des échecs de validation en tant qu’instances ValidationResult .
- validateAllProperties
- Boolean
Si true, évalue également toutes les propriétés de l’objet (ce processus n’est pas récursif sur les propriétés des propriétés).
- cancellationToken
- CancellationToken
À CancellationToken observer lors de l’attente de la fin de la tâche.
Retours
C’est-à-dire Task<TResult>true si l’objet est valide, false si des erreurs de validation sont rencontrées.
- Attributs
Exceptions
Quand instance est null.
Quand validationContext est null.
Quand instance ne correspond pas à l’on ObjectInstancevalidationContext.
L’opération de validation a été annulée.
Remarques
Cette méthode évalue tous les ValidationAttributefichiers attachés au type de l’instance d’objet. Elle vérifie également que toutes les propriétés marquées avec RequiredAttribute sont définies. Si validateAllProperties c’est truele cas, cette méthode évalue également les ValidationAttributes pour toutes les propriétés immédiates de cet objet. Ce processus n’est pas récursif.
Quand validateAllProperties c’est truele cas, la validation est démarrée pour chaque propriété en séquence. Les attributs synchrones d’une propriété s’exécutent avant que les attributs asynchrones de cette propriété ne soient attendus. La validation asynchrone qui reste en cours peut chevaucher la validation asynchrone pour d’autres propriétés.
Quand validationResults c’est nullle cas, la validation s’arrête après la première erreur de propriété (court-circuit inter-propriété). Tous les validateurs asynchrones en vol sur d’autres propriétés sont annulés de manière coopérative. Lorsqu’elle validationResults n’est pas null, toutes les propriétés sont terminées et toutes les erreurs sont collectées.
Retourne Task<TResult> pour l’interopérabilité avec des modèles de composition asynchrone standard tels que Task.WhenAll et Task.WhenAny.
La validation s’exécute en trois étapes : validation des propriétés, validation d’attribut au niveau du type et validation au niveau de l’objet. Chaque étape s’exécute uniquement si les étapes précédentes réussissent. La validation au niveau de l’objet préfère appeler ValidateAsync(ValidationContext, CancellationToken) en cas d’implémentation, avec Validate(ValidationContext) comme secours pour les objets qui implémentent uniquement l’interface synchrone. Il n’appelle pas les deux.