Skip to content

Validation Provider

Параметры слота по-умолчанию с ограниченной областью видимости

ИмяТипОписание
valuesobjectЗначения формы
errorsErrorsMap*Ошибки формы
dirtybooleanЕсли любое значение поля формы отличается от значения по-умолчанию
pristinebooleanНетронутая форма (не было взаимодействия с каким-либо полем)
invalidbooleanЕсли присутствуют ошибки валидации
submittedbooleanБыла попытка отправки формы (вызов handleSubmit)
handleSubmit() => voidМетод, вызывающий валидацию формы
reset(defaultValue?: object) => voidМетод, который сбрасывает состояние формы в первоначальное значение.

Могут быть переданы новые значения по-умолчанию
setError(name: string, error: Error) => voidМетод, который устанавливает ошибку для поля
focusInvalidField() => voidМетод фокусирования первого поля с ошибкой
onFieldChange(name: string, value: any) => voidМетод, который устанавливает значение для поля

* ErrorsMap

* Error

Входные параметры

ИмяТипЗначение по-умолчаниюОписание
defaultValuesobject{}Значение формы по-умолчанию
defaultErrorsErrorsMap*{}Ошибки формы по-умолчанию
resolver(values: object) => Promise<{ values: object, errors: ErrorsMap }}>nullВнешняя валидация формы.

Могут быть возвращены новые значения полей (не будут установлены, но попадут в событие submit).
instantValidatebooleanfalseПо-умолчанию валидация формы начинается только после первой попытки отправить форму методом handleSubmit, если флаг установлен в true, то валидация будет начинаться сразу
resetOnUpdatebooleantrueФлаг отвечается за сброс значений и ошибок формы к начальным если они изменились

* ErrorsMap

События

ИмяТипОписание
submit(values: object, { setError: (name: string, error: Error) => void, reset: (defaultValue?: object) => void, onFieldChange: (name: string, value: any) => void, focusInvalidField: () => void })Отправляется после вызова handleSubmit, если у формы нет ошибок
dirtybooleanОтправляется при каждом изменении значения переменной формы dirty
change(values: object)Вызывается при изменении значения любого поля

* Error