Validator.TryValidateObjectAsync Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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í.