Språk

Validator.ValidateObjectAsync Metod

Definition

Överlagringar

Name Description
ValidateObjectAsync(Object, ValidationContext, CancellationToken)

Genererar asynkront en ValidationException om angiven instance inte är giltig.

ValidateObjectAsync(Object, ValidationContext, Boolean, CancellationToken)

Genererar asynkront en ValidationException om den angivna objektinstansen inte är giltig.

ValidateObjectAsync(Object, ValidationContext, CancellationToken)

Källa:
Validator.cs

Genererar asynkront en ValidationException om angiven instance inte är giltig.

[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

Parametrar

instance
Object

Objektinstansen som ska testas. Det kan inte vara null.

validationContext
ValidationContext

Beskriver objektet som verifieras och tillhandahåller tjänster och kontext för validatorerna.

cancellationToken
CancellationToken

A CancellationToken att observera i väntan på att uppgiften ska slutföras.

Returer

En Task som representerar den asynkrona valideringsåtgärden.

Attribut

Undantag

När instance är null.

När validationContext är null.

När instance matchar inte den ObjectInstance på validationContext.

När instance visar sig vara ogiltigt.

Valideringsåtgärden avbröts.

Kommentarer

Den här metoden kontrollerar attributen RequiredAttribute för objektets egenskaper. Om egenskapsverifieringen lyckas utvärderar metoden de ValidationAttribute attribut som är kopplade till objektets typ.

Den här överlagringen utvärderar inte andra valideringsattribut på egenskapsnivå. Om du vill utvärdera dessa attribut anropar validateAllProperties du den överlagring som accepterar med argumentet inställt på true.

Valideringen körs i tre steg: egenskapsverifiering, validering av attribut på typnivå och validering på objektnivå. Varje fas körs endast om föregående steg lyckas. Validering på objektnivå föredrar att ValidateAsync(ValidationContext, CancellationToken) anropa när det implementeras, med Validate(ValidationContext) som reserv för objekt som endast implementerar det synkrona gränssnittet. Den anropar inte båda.

Gäller för

ValidateObjectAsync(Object, ValidationContext, Boolean, CancellationToken)

Källa:
Validator.cs

Genererar asynkront en ValidationException om den angivna objektinstansen inte är giltig.

[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

Parametrar

instance
Object

Objektinstansen som ska testas. Det kan inte vara null.

validationContext
ValidationContext

Beskriver objektet som verifieras och tillhandahåller tjänster och kontext för validatorerna.

validateAllProperties
Boolean

Om trueverifierar även alla egenskaper för instance.

cancellationToken
CancellationToken

A CancellationToken att observera i väntan på att uppgiften ska slutföras.

Returer

En Task som representerar den asynkrona valideringsåtgärden.

Attribut

Undantag

När instance är null.

När validationContext är null.

När instance matchar inte den ObjectInstance på validationContext.

När instance visar sig vara ogiltigt.

Valideringsåtgärden avbröts.

Kommentarer

Den här metoden kontrollerar attributen RequiredAttribute på objektets egenskaper även när validateAllProperties är false. Om egenskapsverifieringen lyckas utvärderar metoden de ValidationAttribute attribut som är kopplade till objektets typ.

Om validateAllProperties är trueutvärderar metoden även andra valideringsattribut på objektets omedelbara egenskaper. Den här processen validerar inte egenskapsvärden rekursivt.

Valideringen körs i tre steg: egenskapsverifiering, validering av attribut på typnivå och validering på objektnivå. Varje fas körs endast om föregående steg lyckas. Validering på objektnivå föredrar att ValidateAsync(ValidationContext, CancellationToken) anropa när det implementeras, med Validate(ValidationContext) som reserv för objekt som endast implementerar det synkrona gränssnittet. Den anropar inte båda.

Gäller för