Validator.TryValidateObjectAsync Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Przeciążenia
| Nazwisko | Opis |
|---|---|
| TryValidateObjectAsync(Object, ValidationContext, ICollection<ValidationResult>, CancellationToken) |
Asynchronicznie sprawdza, czy dane wystąpienie obiektu jest prawidłowe. |
| TryValidateObjectAsync(Object, ValidationContext, ICollection<ValidationResult>, Boolean, CancellationToken) |
Asynchronicznie sprawdza, czy dane wystąpienie obiektu jest prawidłowe. |
TryValidateObjectAsync(Object, ValidationContext, ICollection<ValidationResult>, CancellationToken)
- Źródło:
- Validator.cs
Asynchronicznie sprawdza, czy dane wystąpienie obiektu jest prawidłowe.
[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)
Parametry
- instance
- Object
Wystąpienie obiektu do przetestowania. Nie można go null.
- validationContext
- ValidationContext
Opisuje obiekt do weryfikowania i świadczenia usług i kontekstu dla modułów sprawdzania poprawności.
- validationResults
- ICollection<ValidationResult>
Opcjonalna kolekcja, która odbiera błędy walidacji jako ValidationResult wystąpienia.
- cancellationToken
- CancellationToken
Element do CancellationToken obserwowania podczas oczekiwania na ukończenie zadania.
Zwraca
Wartość Task<TResult> , true jeśli obiekt jest prawidłowy, false jeśli wystąpią jakiekolwiek błędy walidacji.
- Atrybuty
Wyjątki
Gdy instance ma wartość null.
Gdy validationContext ma wartość null.
Gdy instance element nie jest zgodny z parametrem ObjectInstance w dniu validationContext.
Operacja walidacji została anulowana.
Uwagi
Ta metoda ocenia wszystkie ValidationAttributedołączone do typu wystąpienia obiektu. Sprawdza również, czy wszystkie właściwości oznaczone za pomocą RequiredAttribute są ustawione. Nie weryfikuje s ValidationAttributedla poszczególnych właściwości obiektu, chyba że TryValidateObjectAsync(Object, ValidationContext, ICollection<ValidationResult>, Boolean, CancellationToken) jest wywoływany z ustawioną wartością validateAllPropertiestrue.
Walidacja jest uruchamiana w trzech etapach: walidacja właściwości, walidacja atrybutu na poziomie typu i walidacja na poziomie obiektu. Każdy etap jest uruchamiany tylko wtedy, gdy poprzednie etapy się powiedzie. Walidacja na poziomie obiektu preferuje wywołanie ValidateAsync(ValidationContext, CancellationToken) podczas implementacji, z Validate(ValidationContext) jako rezerwą dla obiektów, które implementują tylko interfejs synchroniczny. Nie wywołuje obu tych elementów.
Dotyczy
TryValidateObjectAsync(Object, ValidationContext, ICollection<ValidationResult>, Boolean, CancellationToken)
- Źródło:
- Validator.cs
Asynchronicznie sprawdza, czy dane wystąpienie obiektu jest prawidłowe.
[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)
Parametry
- instance
- Object
Wystąpienie obiektu do przetestowania. Nie można go null.
- validationContext
- ValidationContext
Opisuje obiekt do weryfikowania i świadczenia usług i kontekstu dla modułów sprawdzania poprawności.
- validationResults
- ICollection<ValidationResult>
Opcjonalna kolekcja, która odbiera błędy walidacji jako ValidationResult wystąpienia.
- validateAllProperties
- Boolean
Jeśli trueprogram oblicza również wszystkie właściwości obiektu (ten proces nie jest rekursywny we właściwościach właściwości).
- cancellationToken
- CancellationToken
Element do CancellationToken obserwowania podczas oczekiwania na ukończenie zadania.
Zwraca
Wartość Task<TResult> , true jeśli obiekt jest prawidłowy, false jeśli wystąpią jakiekolwiek błędy walidacji.
- Atrybuty
Wyjątki
Gdy instance ma wartość null.
Gdy validationContext ma wartość null.
Gdy instance element nie jest zgodny z parametrem ObjectInstance w dniu validationContext.
Operacja walidacji została anulowana.
Uwagi
Ta metoda ocenia wszystkie ValidationAttributedołączone do typu wystąpienia obiektu. Sprawdza również, czy wszystkie właściwości oznaczone za pomocą RequiredAttribute są ustawione. Jeśli validateAllProperties jest trueto , ta metoda oblicza ValidationAttributerównież wartości s dla wszystkich natychmiastowych właściwości tego obiektu. Ten proces nie jest rekursywny.
Gdy validateAllProperties parametr ma truewartość , walidacja jest uruchamiana dla każdej właściwości w sekwencji. Atrybuty synchroniczne dla właściwości uruchomionej przed oczekiwaniem na atrybuty asynchroniczne tej właściwości. Asynchroniczna weryfikacja, która pozostaje w toku, może nakładać się na asynchroniczną walidację innych właściwości.
Gdy validationResults parametr ma nullwartość , walidacja zostanie zatrzymana po pierwszym błędzie właściwości (zwarcie między właściwościami). Wszystkie asynchroniczne moduły sprawdzania poprawności w locie na innych właściwościach są anulowane wspólnie. Gdy validationResults parametr ma wartość inną niż null, wszystkie właściwości zostaną ukończone, a wszystkie błędy zostaną zebrane.
Zwraca wartość Task<TResult> dla współdziałania ze standardowymi wzorcami kompozycji asynchronicznych, takimi jak Task.WhenAll i Task.WhenAny.
Walidacja jest uruchamiana w trzech etapach: walidacja właściwości, walidacja atrybutu na poziomie typu i walidacja na poziomie obiektu. Każdy etap jest uruchamiany tylko wtedy, gdy poprzednie etapy się powiedzie. Walidacja na poziomie obiektu preferuje wywołanie ValidateAsync(ValidationContext, CancellationToken) podczas implementacji, z Validate(ValidationContext) jako rezerwą dla obiektów, które implementują tylko interfejs synchroniczny. Nie wywołuje obu tych elementów.