Validator.TryValidateObjectAsync Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Overloads
| Naam | Description |
|---|---|
| TryValidateObjectAsync(Object, ValidationContext, ICollection<ValidationResult>, CancellationToken) |
Test asynchroon of het opgegeven objectexemplaren geldig zijn. |
| TryValidateObjectAsync(Object, ValidationContext, ICollection<ValidationResult>, Boolean, CancellationToken) |
Test asynchroon of het opgegeven objectexemplaren geldig zijn. |
TryValidateObjectAsync(Object, ValidationContext, ICollection<ValidationResult>, CancellationToken)
- Bron:
- Validator.cs
Test asynchroon of het opgegeven objectexemplaren geldig zijn.
[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)
Parameters
- instance
- Object
Het objectexemplaren dat moet worden getest. Het kan niet worden null.
- validationContext
- ValidationContext
Beschrijft het object voor het valideren en bieden van services en context voor de validators.
- validationResults
- ICollection<ValidationResult>
Een optionele verzameling die validatiefouten ontvangt als ValidationResult exemplaren.
- cancellationToken
- CancellationToken
Een CancellationToken om te observeren terwijl wordt gewacht totdat de taak is voltooid.
Retouren
Een Task<TResult> die is true als het object geldig is, false als er validatiefouten zijn opgetreden.
- Kenmerken
Uitzonderingen
Wanneer instance is null.
Wanneer validationContext is null.
Wanneer instance komt dit niet overeen met de ObjectInstance on validationContext.
De validatiebewerking is geannuleerd.
Opmerkingen
Met deze methode worden alle ValidationAttributegekoppeld aan het type objectexemplaren geëvalueerd. Ook wordt gecontroleerd of alle eigenschappen die zijn gemarkeerd met RequiredAttribute zijn ingesteld. Het valideert de ValidationAttributes niet op afzonderlijke eigenschappen van het object, tenzij TryValidateObjectAsync(Object, ValidationContext, ICollection<ValidationResult>, Boolean, CancellationToken) deze wordt aangeroepen met validateAllProperties ingesteld op true.
Validatie wordt uitgevoerd in drie fasen: eigenschapsvalidatie, kenmerkvalidatie op typeniveau en validatie op objectniveau. Elke fase wordt alleen uitgevoerd als de voorgaande fasen slagen. Validatie op objectniveau geeft de voorkeur aan aanroepen ValidateAsync(ValidationContext, CancellationToken) wanneer deze wordt geïmplementeerd, met Validate(ValidationContext) als een terugval voor objecten die alleen de synchrone interface implementeren. Beide worden niet aangeroepen.
Van toepassing op
TryValidateObjectAsync(Object, ValidationContext, ICollection<ValidationResult>, Boolean, CancellationToken)
- Bron:
- Validator.cs
Test asynchroon of het opgegeven objectexemplaren geldig zijn.
[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)
Parameters
- instance
- Object
Het objectexemplaren dat moet worden getest. Het kan niet worden null.
- validationContext
- ValidationContext
Beschrijft het object voor het valideren en bieden van services en context voor de validators.
- validationResults
- ICollection<ValidationResult>
Een optionele verzameling die validatiefouten ontvangt als ValidationResult exemplaren.
- validateAllProperties
- Boolean
Als true, ook evalueert alle eigenschappen van het object (dit proces is niet recursief ten opzichte van eigenschappen van de eigenschappen).
- cancellationToken
- CancellationToken
Een CancellationToken om te observeren terwijl wordt gewacht totdat de taak is voltooid.
Retouren
Een Task<TResult> die is true als het object geldig is, false als er validatiefouten zijn opgetreden.
- Kenmerken
Uitzonderingen
Wanneer instance is null.
Wanneer validationContext is null.
Wanneer instance komt dit niet overeen met de ObjectInstance on validationContext.
De validatiebewerking is geannuleerd.
Opmerkingen
Met deze methode worden alle ValidationAttributegekoppeld aan het type objectexemplaren geëvalueerd. Ook wordt gecontroleerd of alle eigenschappen die zijn gemarkeerd met RequiredAttribute zijn ingesteld. Als validateAllProperties dat het is true, evalueert deze methode ook de ValidationAttributes voor alle directe eigenschappen van dit object. Dit proces is niet recursief.
Wanneer validateAllProperties is truede validatie gestart voor elke eigenschap in volgorde. Synchrone kenmerken voor een eigenschap worden uitgevoerd voordat de asynchrone kenmerken van die eigenschap worden verwacht. Asynchrone validatie die wordt uitgevoerd, kan overlappen met asynchrone validatie voor andere eigenschappen.
Wanneer validationResults is null, stopt de validatie na de eerste eigenschapsfout (kortsluiting tussen eigenschappen). Alle asynchrone asynchrone validators op andere eigenschappen worden samen geannuleerd. Wanneer validationResults niet null is, worden alle eigenschappen voltooid en worden alle fouten verzameld.
Retourneert Task<TResult> voor interoperabiliteit met standaard asynchrone samenstellingspatronen zoals Task.WhenAll en Task.WhenAny.
Validatie wordt uitgevoerd in drie fasen: eigenschapsvalidatie, kenmerkvalidatie op typeniveau en validatie op objectniveau. Elke fase wordt alleen uitgevoerd als de voorgaande fasen slagen. Validatie op objectniveau geeft de voorkeur aan aanroepen ValidateAsync(ValidationContext, CancellationToken) wanneer deze wordt geïmplementeerd, met Validate(ValidationContext) als een terugval voor objecten die alleen de synchrone interface implementeren. Beide worden niet aangeroepen.