AsyncValidationAttribute.IsValidAsync 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.
Ambil alih metode ini dalam subkelas untuk menerapkan logika validasi asinkron.
protected:
abstract System::Threading::Tasks::Task<System::ComponentModel::DataAnnotations::ValidationResult ^> ^ IsValidAsync(System::Object ^ value, System::ComponentModel::DataAnnotations::ValidationContext ^ validationContext, System::Threading::CancellationToken cancellationToken);
protected abstract System.Threading.Tasks.Task<System.ComponentModel.DataAnnotations.ValidationResult?> IsValidAsync(object? value, System.ComponentModel.DataAnnotations.ValidationContext validationContext, System.Threading.CancellationToken cancellationToken);
abstract member IsValidAsync : obj * System.ComponentModel.DataAnnotations.ValidationContext * System.Threading.CancellationToken -> System.Threading.Tasks.Task<System.ComponentModel.DataAnnotations.ValidationResult>
Protected MustOverride Function IsValidAsync (value As Object, validationContext As ValidationContext, cancellationToken As CancellationToken) As Task(Of ValidationResult)
Parameter
- value
- Object
Nilai yang akan divalidasi.
- validationContext
- ValidationContext
ValidationContext Instans yang menyediakan konteks tentang operasi validasi, seperti objek dan anggota yang sedang divalidasi. Menyediakan akses ke layanan yang diperlukan untuk melakukan validasi menggunakan IServiceProvider.
- cancellationToken
- CancellationToken
A CancellationToken untuk mengamati sambil menunggu tugas selesai.
Mengembalikan
mewakili Task<TResult> operasi validasi asinkron.
Ketika validasi valid, hasilnya adalah Success.
Ketika validasi tidak valid, hasilnya adalah instans .ValidationResult
Keterangan
Metode ini harus melakukan semua pemeriksaan yang berlaku, termasuk pemeriksaan yang dapat berjalan secara sinkron. Implementasi sinkron IsValid(Object, ValidationContext) tidak secara otomatis dipanggil sebelum metode ini. Bagikan pemeriksaan umum melalui pembantu saat diperlukan.
Implementasi harus mengamati pekerjaan yang disediakan cancellationToken dan berhenti segera ketika pembatalan diminta. Infrastruktur validasi mungkin membatalkan token ini setelah kegagalan validasi untuk menghentikan validator saudara kandung dan menunggu semua tugas validasi yang dimulai sebelum kembali. Implementasi yang mengabaikan pembatalan dapat menunda kegagalan dan sirkuit pendek.