Bahasa

Validator.ValidateObjectAsync Metode

Definisi

Overload

Nama Deskripsi
ValidateObjectAsync(Object, ValidationContext, CancellationToken)

Secara asinkron melempar jika ValidationException yang diberikan instance tidak valid.

ValidateObjectAsync(Object, ValidationContext, Boolean, CancellationToken)

Secara asinkron melempar jika instans objek yang ValidationException diberikan tidak valid.

ValidateObjectAsync(Object, ValidationContext, CancellationToken)

Sumber:
Validator.cs

Secara asinkron melempar jika ValidationException yang diberikan instance tidak 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 ValidateObjectAsync(object instance, System.ComponentModel.DataAnnotations.ValidationContext validationContext, 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 ValidateObjectAsync : obj * System.ComponentModel.DataAnnotations.ValidationContext * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Shared Function ValidateObjectAsync (instance As Object, validationContext As ValidationContext, Optional cancellationToken As CancellationToken = Nothing) As Task

Parameter

instance
Object

Instans objek untuk diuji. Ini tidak dapat null.

validationContext
ValidationContext

Menjelaskan objek yang sedang divalidasi dan menyediakan layanan dan konteks untuk validator.

cancellationToken
CancellationToken

A CancellationToken untuk mengamati sambil menunggu tugas selesai.

Mengembalikan

mewakili Task operasi validasi asinkron.

Atribut

Pengecualian

Kapan instance adalah null.

Kapan validationContext adalah null.

Ketika instance tidak cocok dengan pada ObjectInstancevalidationContext.

Ketika instance ditemukan tidak valid.

Operasi validasi dibatalkan.

Keterangan

Metode ini memeriksa RequiredAttribute atribut pada properti objek. Jika validasi properti berhasil, metode mengevaluasi atribut yang ValidationAttribute dilampirkan ke jenis objek.

Kelebihan beban ini tidak mengevaluasi atribut validasi tingkat properti lainnya. Untuk mengevaluasi atribut tersebut, panggil kelebihan beban yang menerima validateAllProperties dengan argumen yang 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

ValidateObjectAsync(Object, ValidationContext, Boolean, CancellationToken)

Sumber:
Validator.cs

Secara asinkron melempar jika instans objek yang ValidationException diberikan tidak 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 ValidateObjectAsync(object instance, System.ComponentModel.DataAnnotations.ValidationContext validationContext, 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 ValidateObjectAsync : obj * System.ComponentModel.DataAnnotations.ValidationContext * bool * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Shared Function ValidateObjectAsync (instance As Object, validationContext As ValidationContext, validateAllProperties As Boolean, Optional cancellationToken As CancellationToken = Nothing) As Task

Parameter

instance
Object

Instans objek untuk diuji. Ini tidak dapat null.

validationContext
ValidationContext

Menjelaskan objek yang sedang divalidasi dan menyediakan layanan dan konteks untuk validator.

validateAllProperties
Boolean

Jika true, juga memvalidasi semua instanceproperti.

cancellationToken
CancellationToken

A CancellationToken untuk mengamati sambil menunggu tugas selesai.

Mengembalikan

mewakili Task operasi validasi asinkron.

Atribut

Pengecualian

Kapan instance adalah null.

Kapan validationContext adalah null.

Ketika instance tidak cocok dengan pada ObjectInstancevalidationContext.

Ketika instance ditemukan tidak valid.

Operasi validasi dibatalkan.

Keterangan

Metode ini memeriksa RequiredAttribute atribut pada properti objek bahkan ketika validateAllProperties adalah false. Jika validasi properti berhasil, metode mengevaluasi atribut yang ValidationAttribute dilampirkan ke jenis objek.

Jika validateAllProperties adalah true, metode ini juga mengevaluasi atribut validasi lainnya pada properti langsung objek. Proses ini tidak memvalidasi nilai properti secara rekursif.

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