Språk

Validator.TryValidateObjectAsync Metod

Definition

Överlagringar

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

Testar asynkront om den angivna objektinstansen är giltig.

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

Testar asynkront om den angivna objektinstansen är giltig.

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

Källa:
Validator.cs

Testar asynkront om den angivna objektinstansen ä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<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)

Parametrar

instance
Object

Objektinstansen som ska testas. Det kan inte vara null.

validationContext
ValidationContext

Beskriver objektet för att verifiera och tillhandahåller tjänster och kontext för validatorerna.

validationResults
ICollection<ValidationResult>

En valfri samling som tar emot valideringsfel som ValidationResult instanser.

cancellationToken
CancellationToken

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

Returer

En Task<TResult> som är true om objektet är giltigt, false om några verifieringsfel påträffas.

Attribut

Undantag

När instance är null.

När validationContext är null.

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

Valideringsåtgärden avbröts.

Kommentarer

Den här metoden utvärderar alla ValidationAttributesom är kopplade till objektinstansens typ. Den kontrollerar också att alla egenskaper som har markerats med RequiredAttribute har angetts. Det validerar inte s för ValidationAttributeenskilda egenskaper för objektet om det inte TryValidateObjectAsync(Object, ValidationContext, ICollection<ValidationResult>, Boolean, CancellationToken) anropas med validateAllProperties 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

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

Källa:
Validator.cs

Testar asynkront om den angivna objektinstansen ä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<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)

Parametrar

instance
Object

Objektinstansen som ska testas. Det kan inte vara null.

validationContext
ValidationContext

Beskriver objektet för att verifiera och tillhandahåller tjänster och kontext för validatorerna.

validationResults
ICollection<ValidationResult>

En valfri samling som tar emot valideringsfel som ValidationResult instanser.

validateAllProperties
Boolean

Om trueutvärderar även alla egenskaper för objektet (den här processen är inte rekursiv över egenskaperna för egenskaperna).

cancellationToken
CancellationToken

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

Returer

En Task<TResult> som är true om objektet är giltigt, false om några verifieringsfel påträffas.

Attribut

Undantag

När instance är null.

När validationContext är null.

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

Valideringsåtgärden avbröts.

Kommentarer

Den här metoden utvärderar alla ValidationAttributesom är kopplade till objektinstansens typ. Den kontrollerar också att alla egenskaper som har markerats med RequiredAttribute har angetts. Om validateAllProperties är trueutvärderar ValidationAttributeden här metoden även s för alla omedelbara egenskaper för det här objektet. Den här processen är inte rekursiv.

När validateAllProperties är truestartas valideringen för varje egenskap i sekvens. Synkrona attribut för en egenskap som körs innan egenskapens asynkrona attribut väntar. Asynkron validering som pågår kan överlappa med asynkron validering för andra egenskaper.

När validationResults är nullstoppas verifieringen efter det första egenskapsfelet (kortslutning mellan egenskaper). Alla asynkrona asynkrona validerare på andra egenskaper ställs in tillsammans. När validationResults är icke-null slutförs alla egenskaper och alla fel samlas in.

Returnerar Task<TResult> för samverkan med asynkrona standardkompositionsmönster som Task.WhenAll och Task.WhenAny.

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