Validator.ValidateObjectAsync 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
多載
| 名稱 | Description |
|---|---|
| ValidateObjectAsync(Object, ValidationContext, CancellationToken) |
若給定 |
| 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) 僅實作同步介面物件的備援。 它並未同時提及兩者。