Closed InteLigent closed 3 years ago
Is it true for any active form or only specific ones?
Для любой формы и любого поля, пришлось хорошо разобраться в yii.ActiveForm.js: Метод:
updateSummary($form, messages);
вызывается только при сабмите формы:
https://github.com/yiisoft/yii2/blob/master/framework/assets/yii.activeForm.js#L487
Я для своих потребностей расширил функционал модуля yii.ActiveForm.js:
1) Авто удаление ошибок из блока errorSummary при успешной валидации поля.
2) Новые методы:
validateAttribute
- валидация конечного атрибута(ов) формы.
hasError
- само за себя говорит название функции.
resetStatus
- сбросить внутренние состояние данных атрибута(ов), иногда бывает очень полезным при работе по созданию сложных динамических сценариев на странице.
Расширение функционала к существующим функциям:
resetForm - возможность сбрасывать индивидуально состояние атрибута(ов), не только для внутреннего но и визуального состояния. А вот resetStatus
срабытывает только для внутреннего. В настоящий момент resetForm
работает в связке с событием reset формы.
И еще одна мелочь осталось, которую надо пофиксить, скрывать блок errorSummary, когда количество ошибок равно нулю.
Моя последняя версия yii.ActiveForm.js лежит в моем форке
Closing due to inactivity. If this should be reopen please write here.
Sequencing:
1) Click on submit button in ActiveForm, so that there were errors in errorSummary block. 2) Correct value in any field of form, but error message not refreshing. After successful validation of the field, errorSummary block not updating or at least not remove error message from block related to the validated field