AsyncValidationAttribute.IsValid 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
多載
| 名稱 | Description |
|---|---|
| IsValid(Object) |
將該委派封印IsValid(Object)覆蓋至過載,ValidationContext使AsyncValidationAttribute實作只需透過 提供單一同步備援。IsValid(Object, ValidationContext) |
| IsValid(Object, ValidationContext) |
定義此屬性的同步驗證行為。 |
IsValid(Object)
將該委派封印IsValid(Object)覆蓋至過載,ValidationContext使AsyncValidationAttribute實作只需透過 提供單一同步備援。IsValid(Object, ValidationContext)
public:
override bool IsValid(System::Object ^ value);
public override sealed bool IsValid(object? value);
override this.IsValid : obj -> bool
Public Overrides NotOverridable Function IsValid (value As Object) As Boolean
參數
- value
- Object
要驗證的值。
傳回
true若該值有效;否則,。 false
適用於
IsValid(Object, ValidationContext)
定義此屬性的同步驗證行為。
protected:
abstract System::ComponentModel::DataAnnotations::ValidationResult ^ IsValid(System::Object ^ value, System::ComponentModel::DataAnnotations::ValidationContext ^ validationContext);
protected abstract System.ComponentModel.DataAnnotations.ValidationResult? IsValid(object? value, System.ComponentModel.DataAnnotations.ValidationContext validationContext);
override this.IsValid : obj * System.ComponentModel.DataAnnotations.ValidationContext -> System.ComponentModel.DataAnnotations.ValidationResult
Protected MustOverride Function IsValid (value As Object, validationContext As ValidationContext) As ValidationResult
參數
- value
- Object
要驗證的值。
- validationContext
- ValidationContext
提供 ValidationContext 驗證操作上下文的實例,例如被驗證的物件與成員。 提供使用驗證所需的 IServiceProvider服務存取。 當上下文IsValid(Object)過載呼叫此方法時,此值可為null此值。
傳回
Success 當驗證是有效的。
驗證無效的例子 ValidationResult 。
備註
同步驗證的消費者會使用此方法。 當能評估適用規則時,提供同步實作;當規則拒絕該值時,回傳驗證錯誤。 若適用必要規則但無法同步評估,則 InvalidOperationException 以訊息指示呼叫者至非同步驗證入口點。 無支持的調用並不能證明該值無效。
只有在規則不適用時,才可不評估規則而回歸 Success 。 不要僅因為需要非同步檢查但無法同步執行,就回傳成功。 成功並不代表驗證尚未完成,也不代表安排後續的非同步調用。
此方法不應透過非同步工作 Task<TResult>.Result、 Task.Wait()、 或 GetAwaiter().GetResult()來阻擋。 將非同步操作包覆於 中 Task.Run 並不適合區塊等待。