Taal

Validator.TryValidateObjectAsync Methode

Definitie

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.

Van toepassing op