Validator.TryValidateObjectAsync Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Aşırı Yüklemeler
| Veri Akışı Adı | Description |
|---|---|
| TryValidateObjectAsync(Object, ValidationContext, ICollection<ValidationResult>, CancellationToken) |
Verilen nesne örneğinin geçerli olup olmadığını zaman uyumsuz olarak sınar. |
| TryValidateObjectAsync(Object, ValidationContext, ICollection<ValidationResult>, Boolean, CancellationToken) |
Verilen nesne örneğinin geçerli olup olmadığını zaman uyumsuz olarak sınar. |
TryValidateObjectAsync(Object, ValidationContext, ICollection<ValidationResult>, CancellationToken)
- Kaynak:
- Validator.cs
Verilen nesne örneğinin geçerli olup olmadığını zaman uyumsuz olarak sınar.
[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)
Parametreler
- instance
- Object
Test etmek için nesne örneği.
nullolamaz.
- validationContext
- ValidationContext
Doğrulanması gereken nesneyi açıklar ve doğrulayıcılar için hizmetler ve bağlam sağlar.
- validationResults
- ICollection<ValidationResult>
Doğrulama hatalarını örnek olarak ValidationResult alan isteğe bağlı bir koleksiyon.
- cancellationToken
- CancellationToken
CancellationToken Görevin tamamlanmasını beklerken gözlemlemek için bir.
Döndürülenler
Task<TResult>
true Herhangi bir doğrulama hatasıyla karşılaşıldığında nesnenin false geçerli olması durumunda bir.
- Öznitelikler
Özel durumlar
olduğunda instancenull.
olduğunda validationContextnull.
üzerinde instance ile ObjectInstancevalidationContexteşleşmediğinde.
Doğrulama işlemi iptal edildi.
Açıklamalar
Bu yöntem, nesne örneğinin türüne eklenen tüm ValidationAttributeöğeleri değerlendirir. Ayrıca, ile RequiredAttribute işaretlenmiş tüm özelliklerin ayarlandığından emin olmak için denetler. ile olarak ayarlanmadığı validateAllProperties sürece TryValidateObjectAsync(Object, ValidationContext, ICollection<ValidationResult>, Boolean, CancellationToken) nesnenin tek tek özelliklerinde s'leri truedoğrulamazValidationAttribute.
Doğrulama üç aşamada çalışır: özellik doğrulaması, tür düzeyi öznitelik doğrulaması ve nesne düzeyi doğrulama. Her aşama yalnızca önceki aşamalar başarılı olursa çalışır. Nesne düzeyinde doğrulama, Validate(ValidationContext) yalnızca zaman uyumlu arabirimi uygulayan nesneler için geri dönüş olarak uygulandığında çağırmayı ValidateAsync(ValidationContext, CancellationToken) tercih eder. Her ikisini de çağırmaz.
Şunlara uygulanır
TryValidateObjectAsync(Object, ValidationContext, ICollection<ValidationResult>, Boolean, CancellationToken)
- Kaynak:
- Validator.cs
Verilen nesne örneğinin geçerli olup olmadığını zaman uyumsuz olarak sınar.
[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)
Parametreler
- instance
- Object
Test etmek için nesne örneği.
nullolamaz.
- validationContext
- ValidationContext
Doğrulanması gereken nesneyi açıklar ve doğrulayıcılar için hizmetler ve bağlam sağlar.
- validationResults
- ICollection<ValidationResult>
Doğrulama hatalarını örnek olarak ValidationResult alan isteğe bağlı bir koleksiyon.
- validateAllProperties
- Boolean
ise true, nesnenin tüm özelliklerini de değerlendirir (bu işlem özelliklerin özellikleri üzerinde özyinelemeli değildir).
- cancellationToken
- CancellationToken
CancellationToken Görevin tamamlanmasını beklerken gözlemlemek için bir.
Döndürülenler
Task<TResult>
true Herhangi bir doğrulama hatasıyla karşılaşıldığında nesnenin false geçerli olması durumunda bir.
- Öznitelikler
Özel durumlar
olduğunda instancenull.
olduğunda validationContextnull.
üzerinde instance ile ObjectInstancevalidationContexteşleşmediğinde.
Doğrulama işlemi iptal edildi.
Açıklamalar
Bu yöntem, nesne örneğinin türüne eklenen tüm ValidationAttributeöğeleri değerlendirir. Ayrıca, ile RequiredAttribute işaretlenmiş tüm özelliklerin ayarlandığından emin olmak için denetler. ise validateAllPropertiestrue, bu yöntem bu nesnenin ValidationAttributetüm anlık özellikleri için s değerlerini de değerlendirir. Bu işlem özyinelemeli değildir.
olduğunda validateAllPropertiestrue, sırayla her özellik için doğrulama başlatılır. Özelliğin zaman uyumsuz öznitelikleri beklenmeden önce bir özellik çalıştırması için zaman uyumlu öznitelikler. Devam eden zaman uyumsuz doğrulama, diğer özellikler için zaman uyumsuz doğrulama ile çakışabilir.
olduğunda validationResultsnull, ilk özellik hatasından (çapraz özellik kısa devre) sonra doğrulama durdurulur. Diğer özelliklerdeki tüm uçuş içi zaman uyumsuz doğrulayıcılar işbirliğiyle iptal edilir. Null olmayan olduğunda validationResults , tüm özellikler tamamlanır ve tüm hatalar toplanır.
ve Task.WhenAnygibi Task.WhenAll standart zaman uyumsuz bileşim desenleriyle birlikte çalışabilirlik için döndürürTask<TResult>.
Doğrulama üç aşamada çalışır: özellik doğrulaması, tür düzeyi öznitelik doğrulaması ve nesne düzeyi doğrulama. Her aşama yalnızca önceki aşamalar başarılı olursa çalışır. Nesne düzeyinde doğrulama, Validate(ValidationContext) yalnızca zaman uyumlu arabirimi uygulayan nesneler için geri dönüş olarak uygulandığında çağırmayı ValidateAsync(ValidationContext, CancellationToken) tercih eder. Her ikisini de çağırmaz.