Язык

Validator.TryValidateObjectAsync Метод

Определение

Перегрузки

Имя. Описание
TryValidateObjectAsync(Object, ValidationContext, ICollection<ValidationResult>, CancellationToken)

Асинхронно проверяет, является ли данный экземпляр объекта допустимым.

TryValidateObjectAsync(Object, ValidationContext, ICollection<ValidationResult>, Boolean, CancellationToken)

Асинхронно проверяет, является ли данный экземпляр объекта допустимым.

TryValidateObjectAsync(Object, ValidationContext, ICollection<ValidationResult>, CancellationToken)

Исходный код:
Validator.cs

Асинхронно проверяет, является ли данный экземпляр объекта допустимым.

[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<bool> TryValidateObjectAsync(object instance, System.ComponentModel.DataAnnotations.ValidationContext validationContext, System.Collections.Generic.ICollection<System.ComponentModel.DataAnnotations.ValidationResult>? validationResults, 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 TryValidateObjectAsync : obj * System.ComponentModel.DataAnnotations.ValidationContext * System.Collections.Generic.ICollection<System.ComponentModel.DataAnnotations.ValidationResult> * System.Threading.CancellationToken -> System.Threading.Tasks.Task<bool>
Public Shared Function TryValidateObjectAsync (instance As Object, validationContext As ValidationContext, validationResults As ICollection(Of ValidationResult), Optional cancellationToken As CancellationToken = Nothing) As Task(Of Boolean)

Параметры

instance
Object

Экземпляр объекта для тестирования. Его нельзя null.

validationContext
ValidationContext

Описывает объект для проверки и предоставления служб и контекста для проверяющих элементов.

validationResults
ICollection<ValidationResult>

Необязательная коллекция, которая получает ошибки проверки в качестве ValidationResult экземпляров.

cancellationToken
CancellationToken

Необходимо CancellationToken наблюдать за ожиданием завершения задачи.

Возвращаемое значение

Значение Task<TResult> , которое указывает true , является ли объект допустимым, false если возникают ошибки проверки.

Атрибуты

Исключения

Когда instance есть null.

Когда validationContext есть null.

Если instance он не соответствует ObjectInstancevalidationContext.

Операция проверки отменена.

Комментарии

Этот метод оценивает все ValidationAttributeприсоединенные к типу экземпляра объекта. Он также проверяет, чтобы все свойства, помеченные как RequiredAttribute заданные. Он не проверяет значения ValidationAttributes для отдельных свойств объекта, если TryValidateObjectAsync(Object, ValidationContext, ICollection<ValidationResult>, Boolean, CancellationToken) не вызывается с заданным validateAllProperties значением true.

Проверка выполняется на трех этапах: проверка свойств, проверка атрибутов уровня типа и проверка на уровне объекта. Каждый этап выполняется только в том случае, если предыдущие этапы выполнены успешно. Проверка на уровне объекта предпочитает вызывать ValidateAsync(ValidationContext, CancellationToken) при реализации с Validate(ValidationContext) резервным вариантом для объектов, реализующих только синхронный интерфейс. Он не вызывает оба.

Применяется к

TryValidateObjectAsync(Object, ValidationContext, ICollection<ValidationResult>, Boolean, CancellationToken)

Исходный код:
Validator.cs

Асинхронно проверяет, является ли данный экземпляр объекта допустимым.

[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<bool> TryValidateObjectAsync(object instance, System.ComponentModel.DataAnnotations.ValidationContext validationContext, System.Collections.Generic.ICollection<System.ComponentModel.DataAnnotations.ValidationResult>? validationResults, 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 TryValidateObjectAsync : obj * System.ComponentModel.DataAnnotations.ValidationContext * System.Collections.Generic.ICollection<System.ComponentModel.DataAnnotations.ValidationResult> * bool * System.Threading.CancellationToken -> System.Threading.Tasks.Task<bool>
Public Shared Function TryValidateObjectAsync (instance As Object, validationContext As ValidationContext, validationResults As ICollection(Of ValidationResult), validateAllProperties As Boolean, Optional cancellationToken As CancellationToken = Nothing) As Task(Of Boolean)

Параметры

instance
Object

Экземпляр объекта для тестирования. Его нельзя null.

validationContext
ValidationContext

Описывает объект для проверки и предоставления служб и контекста для проверяющих элементов.

validationResults
ICollection<ValidationResult>

Необязательная коллекция, которая получает ошибки проверки в качестве ValidationResult экземпляров.

validateAllProperties
Boolean

Если trueтакже вычисляет все свойства объекта (этот процесс не рекурсивно перебор свойств свойств).

cancellationToken
CancellationToken

Необходимо CancellationToken наблюдать за ожиданием завершения задачи.

Возвращаемое значение

Значение Task<TResult> , которое указывает true , является ли объект допустимым, false если возникают ошибки проверки.

Атрибуты

Исключения

Когда instance есть null.

Когда validationContext есть null.

Если instance он не соответствует ObjectInstancevalidationContext.

Операция проверки отменена.

Комментарии

Этот метод оценивает все ValidationAttributeприсоединенные к типу экземпляра объекта. Он также проверяет, чтобы все свойства, помеченные как RequiredAttribute заданные. Если validateAllProperties это trueтак, этот метод также вычисляет ValidationAttributes для всех непосредственных свойств этого объекта. Этот процесс не рекурсивен.

При validateAllProperties этом trueпроверка запускается для каждого свойства в последовательности. Синхронные атрибуты для свойства выполняются до ожидания асинхронных атрибутов этого свойства. Асинхронная проверка, которая продолжается, может перекрываться асинхронной проверкой для других свойств.

Если validationResults это nullтак, проверка останавливается после первой ошибки свойства (перекрестное перекрестное замыкание). Любые асинхронные асинхронные проверяющие элементы других свойств отменяются совместно. Если validationResults значение не равно null, все свойства завершаются и собираются все ошибки.

Возвращает значение Task<TResult> для взаимодействия со стандартными асинхронными шаблонами композиции, такими как Task.WhenAll и Task.WhenAny.

Проверка выполняется на трех этапах: проверка свойств, проверка атрибутов уровня типа и проверка на уровне объекта. Каждый этап выполняется только в том случае, если предыдущие этапы выполнены успешно. Проверка на уровне объекта предпочитает вызывать ValidateAsync(ValidationContext, CancellationToken) при реализации с Validate(ValidationContext) резервным вариантом для объектов, реализующих только синхронный интерфейс. Он не вызывает оба.

Применяется к