語言

Validator.ValidateObjectAsync 方法

定義

多載

名稱 Description
ValidateObjectAsync(Object, ValidationContext, CancellationToken)

若給定instance不成立,則非同步拋出 aValidationException。

ValidateObjectAsync(Object, ValidationContext, Boolean, CancellationToken)

如果給定物件實例不有效,則非同步拋出 a ValidationException 。

ValidateObjectAsync(Object, ValidationContext, CancellationToken)

來源:
Validator.cs

若給定instance不成立,則非同步拋出 aValidationException。

[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

參數

instance
Object

要測試的物件實例。 它不能 null。

validationContext
ValidationContext

描述被驗證的物件,並為驗證者提供服務與上下文。

cancellationToken
CancellationToken

A CancellationToken 在等待任務完成時觀察。

傳回

A Task 代表非同步驗證操作。

屬性

例外狀況

當 instance 是 null。

當 validationContext 是 null。

何時instance不符合ObjectInstance。validationContext

何時 instance 被認定為無效。

驗證作業被取消。

備註

此方法檢查 RequiredAttribute 物件屬性。 若屬性驗證成功,方法會評估 ValidationAttribute 附加於物件型別的屬性。

此過載不評估其他屬性層級的驗證屬性。 要評估這些屬性,呼叫 的 過 validateAllProperties 載,且該參數設為 true。

驗證分為三個階段:屬性驗證、型別層級屬性驗證,以及物件層級驗證。 每個階段只有在前一階段成功時才會進行。 物件層驗證在實作時偏好調 ValidateAsync(ValidationContext, CancellationToken) 用,作為 Validate(ValidationContext) 僅實作同步介面物件的備援。 它並未同時提及兩者。

適用於

ValidateObjectAsync(Object, ValidationContext, Boolean, CancellationToken)

來源:
Validator.cs

如果給定物件實例不有效,則非同步拋出 a ValidationException 。

[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

參數

instance
Object

要測試的物件實例。 它不能 null。

validationContext
ValidationContext

描述被驗證的物件,並為驗證者提供服務與上下文。

validateAllProperties
Boolean

若 true,則驗證所有 instance的性質。

cancellationToken
CancellationToken

A CancellationToken 在等待任務完成時觀察。

傳回

A Task 代表非同步驗證操作。

屬性

例外狀況

當 instance 是 null。

當 validationContext 是 null。

何時instance不符合ObjectInstance。validationContext

何時 instance 被認定為無效。

驗證作業被取消。

備註

此方法即使在 validateAllProperties 時false,仍會RequiredAttribute檢查物件屬性的屬性。 若屬性驗證成功,方法會評估 ValidationAttribute 附加於物件型別的屬性。

若 validateAllProperties 為 true,則該方法也會評估物件直接屬性的其他驗證屬性。 此過程不會以遞迴方式驗證屬性值。

驗證分為三個階段:屬性驗證、型別層級屬性驗證,以及物件層級驗證。 每個階段只有在前一階段成功時才會進行。 物件層驗證在實作時偏好調 ValidateAsync(ValidationContext, CancellationToken) 用,作為 Validate(ValidationContext) 僅實作同步介面物件的備援。 它並未同時提及兩者。

適用於