我正在将 ActiveForm 与该afterValidate()事件一起使用,但目前afterValidate()会在任何验证事件上触发。我如何区分事件validateOnSubmit和validateOnBlur?validateOnChange
基本上,我只希望我的afterValidate()函数在提交时触发。这是我的代码:
PHP:
<?php $form = ActiveForm::begin([
'id' => 'register-form',
'options' => [
'class' => 'validate-form',
],
'enableClientValidation' => true,
'enableAjaxValidation' => false,
'validateOnSubmit' => true,
'validateOnBlur' => true,
'validateOnChange' => true,
]); ?>
JS:
// JS afterValidate function
$('.validate-form').on('afterValidate', function (event, messages, errorAttributes) {
$('.error-popup').show();
return false;
});
HTML:
<div class="error-popup">Please review the errors in the form below.</div>
正如您在上面的函数中看到的afterValidate(),如果存在验证错误,则会显示错误弹出窗口。但是,我只希望在用户提交表单时出现任何验证错误时出现此错误弹出窗口。
如果模糊/更改时出现验证错误,则应进行正常的内联验证,而不会弹出任何错误。
根据我的理解,beforeSubmit只有在验证通过时才会触发事件。
MM们
FFIVE
人到中年有点甜