Bahasa

AsyncValidationAttribute.IsValidAsync Metode

Definisi

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.

Berlaku untuk