Nyelv

Validator.ValidateObjectAsync Metódus

Definíció

Túlterhelések

Név Description
ValidateObjectAsync(Object, ValidationContext, CancellationToken)

Aszinkron módon ad egy ValidationException értéket, ha a megadott instance nem érvényes.

ValidateObjectAsync(Object, ValidationContext, Boolean, CancellationToken)

Aszinkron módon ad egy ValidationException értéket, ha az adott objektumpéldány érvénytelen.

ValidateObjectAsync(Object, ValidationContext, CancellationToken)

Forrás:
Validator.cs

Aszinkron módon ad egy ValidationException értéket, ha a megadott instance nem érvényes.

[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 ValidateObjectAsync(object instance, System.ComponentModel.DataAnnotations.ValidationContext validationContext, 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 ValidateObjectAsync : obj * System.ComponentModel.DataAnnotations.ValidationContext * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Shared Function ValidateObjectAsync (instance As Object, validationContext As ValidationContext, Optional cancellationToken As CancellationToken = Nothing) As Task

Paraméterek

instance
Object

A tesztelni kívánt objektumpéldány. Nem lehet null.

validationContext
ValidationContext

Az érvényesítendő objektumot ismerteti, és szolgáltatásokat és környezetet biztosít az érvényesítők számára.

cancellationToken
CancellationToken

A CancellationToken megfigyelendő, miközben a feladat befejezésére vár.

Válaszok

Az Task aszinkron érvényesítési műveletet jelképező művelet.

Attribútumok

Kivételek

Mikor instance van.null

Mikor validationContext van.null

Ha instance nem egyezik a ObjectInstance be validationContext.

Ha instance a rendszer érvénytelennek találja.

Az érvényesítési művelet megszakadt.

Megjegyzések

Ez a metódus ellenőrzi az RequiredAttribute objektum tulajdonságainak attribútumait. Ha a tulajdonságérvényesítés sikeres, a metódus kiértékeli az ValidationAttribute objektum típusához csatolt attribútumokat.

Ez a túlterhelés nem értékeli ki az egyéb tulajdonságszintű érvényesítési attribútumokat. Az attribútumok kiértékeléséhez hívja meg az argumentummal elfogadott validateAllProperties túlterhelést true.

Az érvényesítés három szakaszban fut: tulajdonságérvényesítés, típusszintű attribútum-ellenőrzés és objektumszintű ellenőrzés. Minden fázis csak akkor fut, ha az előző szakaszok sikeresek. Az objektumszintű érvényesítés inkább invokálást részesít előnyben a implementáláskor ValidateAsync(ValidationContext, CancellationToken) , Validate(ValidationContext) és tartalékként szolgál olyan objektumok esetében, amelyek csak a szinkron felületet implementálják. Nem hívja meg mindkettőt.

A következőre érvényes:

ValidateObjectAsync(Object, ValidationContext, Boolean, CancellationToken)

Forrás:
Validator.cs

Aszinkron módon ad egy ValidationException értéket, ha az adott objektumpéldány érvénytelen.

[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 ValidateObjectAsync(object instance, System.ComponentModel.DataAnnotations.ValidationContext validationContext, 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 ValidateObjectAsync : obj * System.ComponentModel.DataAnnotations.ValidationContext * bool * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Shared Function ValidateObjectAsync (instance As Object, validationContext As ValidationContext, validateAllProperties As Boolean, Optional cancellationToken As CancellationToken = Nothing) As Task

Paraméterek

instance
Object

A tesztelni kívánt objektumpéldány. Nem lehet null.

validationContext
ValidationContext

Az érvényesítendő objektumot ismerteti, és szolgáltatásokat és környezetet biztosít az érvényesítők számára.

validateAllProperties
Boolean

Ha true, az összes instancetulajdonságot is ellenőrzi.

cancellationToken
CancellationToken

A CancellationToken megfigyelendő, miközben a feladat befejezésére vár.

Válaszok

Az Task aszinkron érvényesítési műveletet jelképező művelet.

Attribútumok

Kivételek

Mikor instance van.null

Mikor validationContext van.null

Ha instance nem egyezik a ObjectInstance be validationContext.

Ha instance a rendszer érvénytelennek találja.

Az érvényesítési művelet megszakadt.

Megjegyzések

Ez a módszer akkor is ellenőrzi az RequiredAttribute objektum tulajdonságainak attribútumait, ha validateAllProperties az .false Ha a tulajdonságérvényesítés sikeres, a metódus kiértékeli az ValidationAttribute objektum típusához csatolt attribútumokat.

Ha validateAllProperties igen true, a metódus az objektum közvetlen tulajdonságainak egyéb érvényesítési attribútumait is kiértékeli. Ez a folyamat nem érvényesíti rekurzívan a tulajdonságértékeket.

Az érvényesítés három szakaszban fut: tulajdonságérvényesítés, típusszintű attribútum-ellenőrzés és objektumszintű ellenőrzés. Minden fázis csak akkor fut, ha az előző szakaszok sikeresek. Az objektumszintű érvényesítés inkább invokálást részesít előnyben a implementáláskor ValidateAsync(ValidationContext, CancellationToken) , Validate(ValidationContext) és tartalékként szolgál olyan objektumok esetében, amelyek csak a szinkron felületet implementálják. Nem hívja meg mindkettőt.

A következőre érvényes: