Jazyk

Validator.TryValidateObjectAsync Metoda

Definice

Přetížení

Název Description
TryValidateObjectAsync(Object, ValidationContext, ICollection<ValidationResult>, CancellationToken)

Asynchronně testuje, zda je daná instance objektu platná.

TryValidateObjectAsync(Object, ValidationContext, ICollection<ValidationResult>, Boolean, CancellationToken)

Asynchronně testuje, zda je daná instance objektu platná.

TryValidateObjectAsync(Object, ValidationContext, ICollection<ValidationResult>, CancellationToken)

Zdroj:
Validator.cs

Asynchronně testuje, zda je daná instance objektu platná.

[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)

Parametry

instance
Object

Instance objektu, která se má testovat. Nemůže být null.

validationContext
ValidationContext

Popisuje objekt k ověření a poskytování služeb a kontextu pro validátory.

validationResults
ICollection<ValidationResult>

Volitelná kolekce, která přijímá chyby ověření jako ValidationResult instance.

cancellationToken
CancellationToken

A CancellationToken , která se má sledovat při čekání na dokončení úkolu.

Návraty

To Task<TResult> znamená, že je-li true objekt platný, false pokud dojde k nějakým chybám ověření.

Atributy

Výjimky

Kdy instance je null.

Kdy validationContext je null.

Pokud instance se neshoduje s zapnutou .ObjectInstancevalidationContext

Operace ověření byla zrušena.

Poznámky

Tato metoda vyhodnotí všechny ValidationAttributepřipojené k typu instance objektu. Také kontroluje, zda jsou nastaveny všechny vlastnosti označené RequiredAttribute . Neověřuje ValidationAttributes u jednotlivých vlastností objektu, pokud TryValidateObjectAsync(Object, ValidationContext, ICollection<ValidationResult>, Boolean, CancellationToken) není volána s nastaveným parametrem validateAllPropertiestrue.

Ověřování se spouští ve třech fázích: ověřování vlastností, ověření atributu na úrovni typu a ověřování na úrovni objektu. Každá fáze se spustí pouze v případě, že předchozí fáze proběhnou úspěšně. Ověřování na úrovni objektu dává přednost vyvolání ValidateAsync(ValidationContext, CancellationToken) při implementaci, s Validate(ValidationContext) jako záložní pro objekty, které implementují pouze synchronní rozhraní. Nevyvolá obojí.

Platí pro

TryValidateObjectAsync(Object, ValidationContext, ICollection<ValidationResult>, Boolean, CancellationToken)

Zdroj:
Validator.cs

Asynchronně testuje, zda je daná instance objektu platná.

[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)

Parametry

instance
Object

Instance objektu, která se má testovat. Nemůže být null.

validationContext
ValidationContext

Popisuje objekt k ověření a poskytování služeb a kontextu pro validátory.

validationResults
ICollection<ValidationResult>

Volitelná kolekce, která přijímá chyby ověření jako ValidationResult instance.

validateAllProperties
Boolean

Pokud truetaké vyhodnotí všechny vlastnosti objektu (tento proces není rekurzivní nad vlastnostmi vlastností).

cancellationToken
CancellationToken

A CancellationToken , která se má sledovat při čekání na dokončení úkolu.

Návraty

To Task<TResult> znamená, že je-li true objekt platný, false pokud dojde k nějakým chybám ověření.

Atributy

Výjimky

Kdy instance je null.

Kdy validationContext je null.

Pokud instance se neshoduje s zapnutou .ObjectInstancevalidationContext

Operace ověření byla zrušena.

Poznámky

Tato metoda vyhodnotí všechny ValidationAttributepřipojené k typu instance objektu. Také kontroluje, zda jsou nastaveny všechny vlastnosti označené RequiredAttribute . Pokud validateAllProperties je true, tato metoda také vyhodnotí ValidationAttributes pro všechny okamžité vlastnosti tohoto objektu. Tento proces není rekurzivní.

Kdy validateAllProperties je true, ověřování se spustí pro každou vlastnost v posloupnosti. Synchronní atributy pro spuštění vlastnosti před asynchronními atributy této vlastnosti jsou očekávány. Asynchronní ověřování, které stále probíhá, se může překrývat s asynchronním ověřováním pro jiné vlastnosti.

Kdy validationResults je null, ověřování se zastaví po první chybě vlastnosti (zkrat mezi vlastnostmi). Všechny asynchronní validátory v letu na jiných vlastnostech jsou zrušeny spolupracovně. Pokud validationResults není null, všechny vlastnosti jsou dokončeny a všechny chyby jsou shromažďovány.

Vrátí Task<TResult> pro interoperabilitu se standardními asynchronními vzory složení, jako Task.WhenAll jsou a Task.WhenAny.

Ověřování se spouští ve třech fázích: ověřování vlastností, ověření atributu na úrovni typu a ověřování na úrovni objektu. Každá fáze se spustí pouze v případě, že předchozí fáze proběhnou úspěšně. Ověřování na úrovni objektu dává přednost vyvolání ValidateAsync(ValidationContext, CancellationToken) při implementaci, s Validate(ValidationContext) jako záložní pro objekty, které implementují pouze synchronní rozhraní. Nevyvolá obojí.

Platí pro