Nyelv

Validator.TryValidateObjectAsync Metódus

Definíció

Túlterhelések

Név Description
TryValidateObjectAsync(Object, ValidationContext, ICollection<ValidationResult>, CancellationToken)

Aszinkron módon ellenőrzi, hogy az adott objektumpéldány érvényes-e.

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

Aszinkron módon ellenőrzi, hogy az adott objektumpéldány érvényes-e.

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

Forrás:
Validator.cs

Aszinkron módon ellenőrzi, hogy az adott objektumpéldány érvényes-e.

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

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.

validationResults
ICollection<ValidationResult>

Nem kötelező gyűjtemény, amely példányként ValidationResult érvényesítési hibákat kap.

cancellationToken
CancellationToken

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

Válaszok

true Ha Task<TResult> az objektum érvényes, false akkor érvényesítési hibák lépnek fel.

Attribútumok

Kivételek

Mikor instance van.null

Mikor validationContext van.null

Ha instance nem egyezik a ObjectInstance be validationContext.

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

Megjegyzések

Ez a metódus kiértékeli az objektumpéldány típusához csatolt összes ValidationAttributeértéket. Azt is ellenőrzi, hogy az összes megjelölt RequiredAttribute tulajdonság be van-e állítva. Nem ellenőrzi az ValidationAttributeobjektum egyes tulajdonságainak s-jét, kivéve, ha TryValidateObjectAsync(Object, ValidationContext, ICollection<ValidationResult>, Boolean, CancellationToken) a rendszer a következőre truevan validateAllProperties állítva: .

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:

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

Forrás:
Validator.cs

Aszinkron módon ellenőrzi, hogy az adott objektumpéldány érvényes-e.

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

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.

validationResults
ICollection<ValidationResult>

Nem kötelező gyűjtemény, amely példányként ValidationResult érvényesítési hibákat kap.

validateAllProperties
Boolean

Ha trueaz objektum összes tulajdonságát is kiértékeli (ez a folyamat nem rekurzív a tulajdonságok tulajdonságaival szemben).

cancellationToken
CancellationToken

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

Válaszok

true Ha Task<TResult> az objektum érvényes, false akkor érvényesítési hibák lépnek fel.

Attribútumok

Kivételek

Mikor instance van.null

Mikor validationContext van.null

Ha instance nem egyezik a ObjectInstance be validationContext.

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

Megjegyzések

Ez a metódus kiértékeli az objektumpéldány típusához csatolt összes ValidationAttributeértéket. Azt is ellenőrzi, hogy az összes megjelölt RequiredAttribute tulajdonság be van-e állítva. Ha validateAllProperties igen true, ez a metódus az ValidationAttributeobjektum összes közvetlen tulajdonsága esetében is kiértékeli az s értéket. Ez a folyamat nem rekurzív.

Ha validateAllProperties igen true, az ellenőrzés az egyes tulajdonságokhoz egymás után indul el. A tulajdonság szinkron attribútumai a tulajdonság aszinkron attribútumai előtt futnak. A folyamatban lévő aszinkron ellenőrzés átfedésben lehet más tulajdonságok aszinkron érvényesítésével.

Ha validationResults igen, az nullérvényesítés az első tulajdonsághiba (a tulajdonságközi rövidzárlat) után leáll. Az egyéb tulajdonságokon futó repülés közbeni aszinkron érvényesítők együttműködéssel megszűnnek. Ha validationResults nem null értékű, a rendszer minden tulajdonságot befejez, és az összes hibát összegyűjti.

Task<TResult> Az olyan szabványos aszinkron összetételi mintákkal való együttműködéshez ad vissza értéket, mint például Task.WhenAll és Task.WhenAny.

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: