Validator.TryValidateObjectAsync Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Overload
| Nama | Deskripsi |
|---|---|
| TryValidateObjectAsync(Object, ValidationContext, ICollection<ValidationResult>, CancellationToken) |
Secara asinkron menguji apakah instans objek yang diberikan valid. |
| TryValidateObjectAsync(Object, ValidationContext, ICollection<ValidationResult>, Boolean, CancellationToken) |
Secara asinkron menguji apakah instans objek yang diberikan valid. |
TryValidateObjectAsync(Object, ValidationContext, ICollection<ValidationResult>, CancellationToken)
- Sumber:
- Validator.cs
Secara asinkron menguji apakah instans objek yang diberikan valid.
[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)
Parameter
- instance
- Object
Instans objek untuk diuji. Ini tidak dapat null.
- validationContext
- ValidationContext
Menjelaskan objek untuk memvalidasi dan menyediakan layanan dan konteks untuk validator.
- validationResults
- ICollection<ValidationResult>
Koleksi opsional yang menerima kegagalan validasi sebagai ValidationResult instans.
- cancellationToken
- CancellationToken
A CancellationToken untuk mengamati sambil menunggu tugas selesai.
Mengembalikan
Task<TResult> Yang jika true objek valid, false jika ada kesalahan validasi yang ditemui.
- Atribut
Pengecualian
Kapan instance adalah null.
Kapan validationContext adalah null.
Ketika instance tidak cocok dengan pada ObjectInstancevalidationContext.
Operasi validasi dibatalkan.
Keterangan
Metode ini mengevaluasi semua ValidationAttributeyang dilampirkan ke jenis instans objek. Ini juga memeriksa untuk memastikan semua properti yang ditandai dengan RequiredAttribute diatur. Ini tidak memvalidasi ValidationAttributes pada properti individual objek kecuali TryValidateObjectAsync(Object, ValidationContext, ICollection<ValidationResult>, Boolean, CancellationToken) dipanggil dengan validateAllProperties diatur ke true.
Validasi berjalan dalam tiga tahap: validasi properti, validasi atribut tingkat jenis, dan validasi tingkat objek. Setiap tahap hanya berjalan jika tahap sebelumnya berhasil. Validasi tingkat objek lebih suka dipanggil ValidateAsync(ValidationContext, CancellationToken) saat diimplementasikan, dengan Validate(ValidationContext) sebagai fallback untuk objek yang hanya mengimplementasikan antarmuka sinkron. Ini tidak memanggil keduanya.
Berlaku untuk
TryValidateObjectAsync(Object, ValidationContext, ICollection<ValidationResult>, Boolean, CancellationToken)
- Sumber:
- Validator.cs
Secara asinkron menguji apakah instans objek yang diberikan valid.
[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)
Parameter
- instance
- Object
Instans objek untuk diuji. Ini tidak dapat null.
- validationContext
- ValidationContext
Menjelaskan objek untuk memvalidasi dan menyediakan layanan dan konteks untuk validator.
- validationResults
- ICollection<ValidationResult>
Koleksi opsional yang menerima kegagalan validasi sebagai ValidationResult instans.
- validateAllProperties
- Boolean
Jika true, juga mengevaluasi semua properti objek (proses ini tidak rekursif atas properti properti).
- cancellationToken
- CancellationToken
A CancellationToken untuk mengamati sambil menunggu tugas selesai.
Mengembalikan
Task<TResult> Yang jika true objek valid, false jika ada kesalahan validasi yang ditemui.
- Atribut
Pengecualian
Kapan instance adalah null.
Kapan validationContext adalah null.
Ketika instance tidak cocok dengan pada ObjectInstancevalidationContext.
Operasi validasi dibatalkan.
Keterangan
Metode ini mengevaluasi semua ValidationAttributeyang dilampirkan ke jenis instans objek. Ini juga memeriksa untuk memastikan semua properti yang ditandai dengan RequiredAttribute diatur. Jika validateAllProperties adalah true, metode ini juga mengevaluasi ValidationAttributes untuk semua properti langsung objek ini. Proses ini tidak rekursif.
Ketika validateAllProperties adalah true, validasi dimulai untuk setiap properti secara berurutan. Atribut sinkron untuk properti yang dijalankan sebelum atribut asinkron properti tersebut ditunggu. Validasi asinkron yang tetap berlangsung dapat tumpang tindih dengan validasi asinkron untuk properti lain.
Ketika validationResults adalah null, validasi berhenti setelah kesalahan properti pertama (sirkuit pendek lintas properti). Validator asinkron dalam penerbangan apa pun di properti lain dibatalkan secara kooperatif. Ketika validationResults non-null, semua properti selesai dan semua kesalahan dikumpulkan.
Task<TResult> Mengembalikan interoperabilitas dengan pola komposisi asinkron standar seperti Task.WhenAll dan Task.WhenAny.
Validasi berjalan dalam tiga tahap: validasi properti, validasi atribut tingkat jenis, dan validasi tingkat objek. Setiap tahap hanya berjalan jika tahap sebelumnya berhasil. Validasi tingkat objek lebih suka dipanggil ValidateAsync(ValidationContext, CancellationToken) saat diimplementasikan, dengan Validate(ValidationContext) sebagai fallback untuk objek yang hanya mengimplementasikan antarmuka sinkron. Ini tidak memanggil keduanya.