AsyncValidationAttribute.GetValidationResultAsync 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
测试给定value是否在当前验证属性上异步有效,而不引发 。ValidationException
public System.Threading.Tasks.Task<System.ComponentModel.DataAnnotations.ValidationResult?> GetValidationResultAsync(object? value, System.ComponentModel.DataAnnotations.ValidationContext validationContext, System.Threading.CancellationToken cancellationToken = default);
member this.GetValidationResultAsync : obj * System.ComponentModel.DataAnnotations.ValidationContext * System.Threading.CancellationToken -> System.Threading.Tasks.Task<System.ComponentModel.DataAnnotations.ValidationResult>
Public Function GetValidationResultAsync (value As Object, validationContext As ValidationContext, Optional cancellationToken As CancellationToken = Nothing) As Task(Of ValidationResult)
参数
- value
- Object
要验证的值。
- validationContext
- ValidationContext
提供 ValidationContext 有关验证操作的上下文的实例,例如要验证的对象和成员。 提供对使用
- cancellationToken
- CancellationToken
等待任务完成时观察的 A CancellationToken 。
返回
表示 Task<TResult> 异步验证操作。
验证有效时,结果为 Success.
验证无效时,结果为 .ValidationResult
例外
当前属性格式不正确。
何时 validationContext 为 null。
验证操作已取消。
注解
在请求取消时,基础 IsValidAsync(Object, ValidationContext, CancellationToken) 实现必须及时观察提供的 cancellationToken 和停止工作。 验证基础结构在返回之前等待所有启动的验证任务,因此忽略取消的实现可能会延迟失败和短路。
需要绑定验证时间的调用方应传递在超时后配置为取消的令牌,例如配置了令牌 CancellationTokenSource 的令牌 CancelAfter(TimeSpan)。