В некоторых формах проекта (в 12 из 40) при создании или редактировании в одном/двух/трёх полях стоит серверная валидация, т.к. нужно проверять уникальность поля или связки. Поэтому стоит `enableAjaxValidation`. Валидация происходит при потере фокуса, при изменении значения в поле и при клике на кнопку сохранить. При этом, как только последнее поле в форме будет заполнено, конечно сработает `ajaxValidation` и форма на сервере сохранится и произойдёт редирект при успешности операции. Такое поведения меня не устраивает.
Я хочу: Оставить валидацию "на лету", т.е. сохранить и не трогать опции `validateOnChange = true` и `validateOnBlur = true`, но при этом, чтобы само сохранение уже всей корректной формы происходило только при нажатии на кнопку "Сохранить", т.е. `onSubmit`. Как это сделать? Что предусмотреть? В какую сторону копать? Таких методов будет много (12 форм с create/update методами)
Как при включенной enableAjaxValidation избежать автосохранения формы?
-
- Сообщения: 101
- Зарегистрирован: 2015.08.24, 18:50
- Dominus
- Сообщения: 892
- Зарегистрирован: 2013.03.14, 21:27
- Откуда: Россия, Иваново
- Контактная информация:
Re: Как при включенной enableAjaxValidation избежать автосохранения формы?
Смотрите контроллер где происходит валидация и сохранение формы.
Не спорь с дураком, иначе окружающие не правильно поймут кто из вас дурак!
Re: Как при включенной enableAjaxValidation избежать автосохранения формы?
Вынести валидацию в отдельный 'validationUrl' => ['validate', 'id' => $model->id]
- Dominus
- Сообщения: 892
- Зарегистрирован: 2013.03.14, 21:27
- Откуда: Россия, Иваново
- Контактная информация:
Re: Как при включенной enableAjaxValidation избежать автосохранения формы?
Например так:
View
https://github.com/Dominus77/yii2-advan ... rd.php#L20
Controller
https://github.com/Dominus77/yii2-advan ... #L203-L211
и не забыть добавить экшен в правила urlManager
View
https://github.com/Dominus77/yii2-advan ... rd.php#L20
Controller
https://github.com/Dominus77/yii2-advan ... #L203-L211
и не забыть добавить экшен в правила urlManager
Не спорь с дураком, иначе окружающие не правильно поймут кто из вас дурак!