语言

Validator.TryValidatePropertyAsync 方法

定义

异步测试给定属性值是否有效。

[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The Type of validationContext.ObjectType cannot be statically discovered.")]
public static System.Threading.Tasks.Task<bool> TryValidatePropertyAsync(object? value, System.ComponentModel.DataAnnotations.ValidationContext validationContext, System.Collections.Generic.ICollection<System.ComponentModel.DataAnnotations.ValidationResult>? validationResults, System.Threading.CancellationToken cancellationToken = default);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The Type of validationContext.ObjectType cannot be statically discovered.")>]
static member TryValidatePropertyAsync : obj * System.ComponentModel.DataAnnotations.ValidationContext * System.Collections.Generic.ICollection<System.ComponentModel.DataAnnotations.ValidationResult> * System.Threading.CancellationToken -> System.Threading.Tasks.Task<bool>
Public Shared Function TryValidatePropertyAsync (value As Object, validationContext As ValidationContext, validationResults As ICollection(Of ValidationResult), Optional cancellationToken As CancellationToken = Nothing) As Task(Of Boolean)

参数

value
Object

要测试的值。

validationContext
ValidationContext

描述要验证和提供验证程序服务和上下文的属性成员。

validationResults
ICollection<ValidationResult>

作为实例接收验证失败 ValidationResult 的可选集合。

cancellationToken
CancellationToken

等待任务完成时观察的 A CancellationToken 。

返回

Task<TResult>如果true值有效,false则为遇到任何验证错误。

属性

例外

validationContext 为 null或 MemberName 为 null 空。

MemberName 不标识有效的公共非索引器属性,或 value 无法分配给该属性。

验证操作已取消。

注解

此方法测试每个 ValidationAttribute 与标识的属性 validationContext关联的方法。 如果 validationResults 为非 null,此方法会为每个验证失败添加一个 ValidationResult 。

如果属性上已 RequiredAttribute 找到,则会在所有其他验证属性之前对其进行评估。 如果所需的验证程序失败,验证将停止,并在适用时将该单个失败添加到 validationResults 集合并返回 false。

所有同步验证属性通过后,都会 AsyncValidationAttribute 异步评估任何实例。

适用于