Язык

EditContext Класс

Определение

Содержит метаданные, связанные с процессом редактирования данных, например флаги, чтобы указать, какие поля были изменены и текущий набор сообщений проверки.

public ref class EditContext sealed
public sealed class EditContext
type EditContext = class
Public NotInheritable Class EditContext
Наследование
EditContext

Конструкторы

Имя Описание
EditContext(Object)

Создает экземпляр EditContext.

Свойства

Имя Описание
Model

Возвращает объект модели для этого EditContext.

Properties

Возвращает коллекцию произвольных свойств, связанных с этим экземпляром.

ShouldUseFieldIdentifiers

Возвращает, следует ли создавать идентификаторы полей для <входных> элементов.

Методы

Имя Описание
AddValidationTask(FieldIdentifier, Task, CancellationTokenSource)

Регистрирует асинхронную задачу проверки для определенного поля. Задача отслеживается для ожидающих и неисправных запросов состояния с помощью IsValidationPending(FieldIdentifier) и IsValidationFaulted(FieldIdentifier). Если задача уже отслеживается для этого поля, ранее зарегистрированная была CancellationTokenSource отменена, а новая задача заменяет ее. При EditContext последующей ctsпроверке оно будет отменено, если последующая проверка заменяет этот объект и удаляется после task завершения.

Field(String)

Предоставляет соответствующее FieldIdentifier указанному имени поля для этого EditContextполя Model.

GetValidationMessages()

Возвращает текущие сообщения проверки во всех полях.

Этот метод не выполняет проверку. Он возвращает только сообщения, определенные предыдущими действиями проверки.

GetValidationMessages(Expression<Func<Object>>)

Возвращает текущие сообщения проверки для указанного поля.

Этот метод не выполняет проверку. Он возвращает только сообщения, определенные предыдущими действиями проверки.

GetValidationMessages(FieldIdentifier)

Возвращает текущие сообщения проверки для указанного поля.

Этот метод не выполняет проверку. Он возвращает только сообщения, определенные предыдущими действиями проверки.

IsModified()

Определяет, были ли изменены какие-либо поля в этом EditContext разделе.

IsModified(Expression<Func<Object>>)

Определяет, были ли изменены указанные поля.EditContext

IsModified(FieldIdentifier)

Определяет, были ли изменены указанные поля.EditContext

IsValid(Expression<Func<Object>>)

Определяет, не связаны ли указанные поля в этом EditContext случае с соответствующими сообщениями проверки.

IsValid(FieldIdentifier)

Определяет, не связаны ли указанные поля в этом EditContext случае с соответствующими сообщениями проверки.

IsValidationFaulted()

Возвращает, true если последний ValidateAsync(CancellationToken) проход наблюдал необработанное исключение из любого OnValidationRequestedAsync обработчика. Последующий успешный ValidateAsync(CancellationToken) проход очищает флаг, вызывающий отмененный проход сохраняет его. Используйте это для обнаружения сбоя проверки (а не только созданных сообщений проверки). Для ошибок AddValidationTask(FieldIdentifier, Task, CancellationTokenSource)проверяющего элемента на поле используйте перегрузку IsValidationFaulted(FieldIdentifier) .

IsValidationFaulted(FieldIdentifier)

Возвращает, true если последнее асинхронное подтверждение указанного поля произошло сбоем (вызвало исключение без отмены).

IsValidationFaulted<TField>(Expression<Func<TField>>)

Возвращает, true если поле, определяемое accessor последней асинхронной проверкой выражения, сбой (вызвал исключение без отмены).

IsValidationPending()

Возвращает, true если в настоящее время выполняется передача уровня ValidateAsync(CancellationToken) формы. Подходит для вождения пользовательского интерфейса на уровне формы, например отключения кнопки отправки или отображения "проверка..." индикатор текущей отправки. Не учитывает ожидающие задачи на уровне поля (они заменяются при запуске следующего прохода на уровне формы); используйте перегрузку IsValidationPending(FieldIdentifier) для состояния поля.

IsValidationPending(FieldIdentifier)

Возвращает, true если указанное поле имеет ожидающее асинхронное задание проверки. Задача "ожидает" до тех пор, пока наблюдатель платформы не урегулировал свой результат и очистил слот (т. е. не только до завершения задачи), чтобы потребитель, ожидающий того, IsValidationPending(FieldIdentifier) что станет false гарантированно видеть окончательное IsValidationFaulted(FieldIdentifier) значение.

IsValidationPending<TField>(Expression<Func<TField>>)

Возвращает, true если поле, определяемое accessor выражением, имеет ожидающее асинхронное задание проверки.

MarkAsUnmodified()

Очищает все флаги изменений в этом EditContext.

MarkAsUnmodified(FieldIdentifier)

Очищает любой флаг изменения, который может отслеживаться для указанного поля.

NotifyFieldChanged(FieldIdentifier)

Сигнализирует о том, что значение указанного поля изменилось.

NotifyValidationStateChanged()

Сигнализирует о том, что некоторые аспекты состояния проверки изменились.

Validate()

Проверяет это EditContext.

ValidateAsync(CancellationToken)

Проверяет это EditContext асинхронно. Отменяет все ожидающие задачи асинхронной проверки на уровне поля, вызывает синхронные OnValidationRequested обработчики, а затем вызывает и ожидает асинхронные OnValidationRequestedAsync обработчики одновременно. Исключения из синхронных обработчиков распространяются на вызывающий объект, соответствующий Validate(). Любое исключение без отмены, вызываемое асинхронным обработчиком, содержится: форма помечается как неисправная (наблюдаемая с помощью без IsValidationFaulted()параметров) и возвращается falseметод. Хотя асинхронная часть находится в полете, без параметров IsValidationPending() возвращается true , чтобы приложения могли отображать глобальное "проверка..." индикатор без упаковки самого вызова. Результат уровня IsValidationFaulted() формы обновляется только после завершения прохождения; он сохраняется через отмененные абонентом проходы.

События

Имя Описание
OnFieldChanged

Событие, которое возникает при изменении значения поля.

OnValidationRequested

Событие, возникающее при запросе проверки. Компоненты проверяющего элемента подписываются на это событие для выполнения синхронной проверки.

OnValidationRequestedAsync

Асинхронное событие, которое возникает при запросе проверки. Компоненты проверки подписываются на это событие для выполнения асинхронной проверки (например, подстановки баз данных, удаленных вызовов API). Обработчики ожидаются ValidateAsync(CancellationToken). Validate() также вызывает эти обработчики, но требует, чтобы каждый из них был синхронно завершен; Если какой-либо возвращает неполный Task, Validate() вызывается InvalidOperationExceptionисключение.

OnValidationStateChanged

Событие, возникающее при изменении состояния проверки.

Методы расширения

Имя Описание
AddDataAnnotationsValidation(EditContext)
Устаревшие.

Добавляет поддержку проверки DataAnnotations в объект EditContext.

EnableDataAnnotationsValidation(EditContext, IServiceProvider)

Включает поддержку проверки DataAnnotations для параметра EditContext.

EnableDataAnnotationsValidation(EditContext)
Устаревшие.

Включает поддержку проверки DataAnnotations для параметра EditContext.

FieldCssClass(EditContext, FieldIdentifier)

Возвращает строку, указывающую состояние указанного поля в виде класса CSS.

FieldCssClass<TField>(EditContext, Expression<Func<TField>>)

Возвращает строку, указывающую состояние указанного поля в виде класса CSS. К ним относится сочетание "изменено", "допустимо" или "недопустимо", в зависимости от состояния поля.

SetFieldCssClassProvider(EditContext, FieldCssClassProvider)

Связывает предоставленный FieldCssClassProvider с предоставленным EditContext. Это настраивает имена классов CSS полей, используемых в пределах EditContext.

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