Язык

Validator.ValidateObjectAsync Метод

Определение

Перегрузки

Имя. Описание
ValidateObjectAsync(Object, ValidationContext, CancellationToken)

Асинхронно вызывает исключение, ValidationException если данное значение instance недопустимо.

ValidateObjectAsync(Object, ValidationContext, Boolean, CancellationToken)

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

ValidateObjectAsync(Object, ValidationContext, CancellationToken)

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

Асинхронно вызывает исключение, ValidationException если данное значение instance недопустимо.

[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

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

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

Представляет Task асинхронную операцию проверки.

Атрибуты

Исключения

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

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

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

Если instance установлено недопустимое значение.

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

Комментарии

Этот метод проверяет RequiredAttribute атрибуты свойств объекта. Если проверка свойств выполнена успешно, метод оценивает ValidationAttribute атрибуты, присоединенные к типу объекта.

Эта перегрузка не оценивает другие атрибуты проверки уровня свойств. Чтобы оценить эти атрибуты, вызовите перегрузку, которая принимает validateAllProperties этот аргумент true.

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

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

ValidateObjectAsync(Object, ValidationContext, Boolean, CancellationToken)

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

Асинхронно создает исключение, 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

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

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

Представляет Task асинхронную операцию проверки.

Атрибуты

Исключения

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

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

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

Если instance установлено недопустимое значение.

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

Комментарии

Этот метод проверяет RequiredAttribute атрибуты свойств объекта даже в том falseслучаеvalidateAllProperties. Если проверка свойств выполнена успешно, метод оценивает ValidationAttribute атрибуты, присоединенные к типу объекта.

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

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

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