Lingua

Validator.TryValidateObjectAsync Metodo

Definizione

Overload

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

Verifica in modo asincrono se l'istanza dell'oggetto specificata è valida.

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

Verifica in modo asincrono se l'istanza dell'oggetto specificata è valida.

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

Origine:
Validator.cs

Verifica in modo asincrono se l'istanza dell'oggetto specificata è valida.

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

Parametri

instance
Object

Istanza dell'oggetto da testare. Non può essere null.

validationContext
ValidationContext

Descrive l'oggetto da convalidare e fornisce servizi e contesto per i validator.

validationResults
ICollection<ValidationResult>

Raccolta facoltativa che riceve errori di convalida come ValidationResult istanze.

cancellationToken
CancellationToken

Oggetto CancellationToken da osservare durante l'attesa del completamento dell'attività.

Valori restituiti

Oggetto Task<TResult> che indica true se l'oggetto è valido, false se vengono rilevati errori di convalida.

Attributi

Eccezioni

Quando instance è null.

Quando validationContext è null.

Quando instance non corrisponde a in ObjectInstance .validationContext

L'operazione di convalida è stata annullata.

Commenti

Questo metodo valuta tutti i ValidationAttributedati associati al tipo dell'istanza dell'oggetto. Controlla anche che tutte le proprietà contrassegnate con RequiredAttribute siano impostate. Non convalida gli ValidationAttributeoggetti nelle singole proprietà dell'oggetto, a meno che non TryValidateObjectAsync(Object, ValidationContext, ICollection<ValidationResult>, Boolean, CancellationToken) venga chiamato con validateAllProperties impostato su true.

La convalida viene eseguita in tre fasi: convalida delle proprietà, convalida degli attributi a livello di tipo e convalida a livello di oggetto. Ogni fase viene eseguita solo se le fasi precedenti hanno esito positivo. La convalida a livello di oggetto preferisce richiamare ValidateAsync(ValidationContext, CancellationToken) quando implementata, con Validate(ValidationContext) come fallback per gli oggetti che implementano solo l'interfaccia sincrona. Non richiama entrambi.

Si applica a

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

Origine:
Validator.cs

Verifica in modo asincrono se l'istanza dell'oggetto specificata è valida.

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

Parametri

instance
Object

Istanza dell'oggetto da testare. Non può essere null.

validationContext
ValidationContext

Descrive l'oggetto da convalidare e fornisce servizi e contesto per i validator.

validationResults
ICollection<ValidationResult>

Raccolta facoltativa che riceve errori di convalida come ValidationResult istanze.

validateAllProperties
Boolean

Se true, valuta anche tutte le proprietà dell'oggetto (questo processo non è ricorsivo rispetto alle proprietà delle proprietà).

cancellationToken
CancellationToken

Oggetto CancellationToken da osservare durante l'attesa del completamento dell'attività.

Valori restituiti

Oggetto Task<TResult> che indica true se l'oggetto è valido, false se vengono rilevati errori di convalida.

Attributi

Eccezioni

Quando instance è null.

Quando validationContext è null.

Quando instance non corrisponde a in ObjectInstance .validationContext

L'operazione di convalida è stata annullata.

Commenti

Questo metodo valuta tutti i ValidationAttributedati associati al tipo dell'istanza dell'oggetto. Controlla anche che tutte le proprietà contrassegnate con RequiredAttribute siano impostate. Se validateAllProperties è true, questo metodo valuta anche s ValidationAttributeper tutte le proprietà immediate di questo oggetto. Questo processo non è ricorsivo.

Quando validateAllProperties è true, viene avviata la convalida per ogni proprietà in sequenza. Gli attributi sincroni per una proprietà vengono eseguiti prima che gli attributi asincroni di tale proprietà siano attesi. La convalida asincrona che rimane in corso può sovrapporsi alla convalida asincrona per altre proprietà.

Quando validationResults è null, la convalida viene arrestata dopo il primo errore della proprietà (corto circuito tra proprietà). Tutti i validator asincroni in anteprima su altre proprietà vengono annullati in modo cooperativo. Quando validationResults è diverso da Null, tutte le proprietà vengono completate e vengono raccolti tutti gli errori.

Restituisce Task<TResult> per l'interoperabilità con modelli di composizione asincroni standard, ad Task.WhenAll esempio e Task.WhenAny.

La convalida viene eseguita in tre fasi: convalida delle proprietà, convalida degli attributi a livello di tipo e convalida a livello di oggetto. Ogni fase viene eseguita solo se le fasi precedenti hanno esito positivo. La convalida a livello di oggetto preferisce richiamare ValidateAsync(ValidationContext, CancellationToken) quando implementata, con Validate(ValidationContext) come fallback per gli oggetti che implementano solo l'interfaccia sincrona. Non richiama entrambi.

Si applica a