3 回答
TA贡献1886条经验 获得超2个赞
Yii 的活动表单 JS 将一些信息保存到yiiActiveForm数据属性中。您可以使用某些submitting属性来确定表单在提交之前是否处于验证状态。
$('.validate-form').on('afterValidate', function (event, messages, errorAttributes) {
let data = $('.validate-form').data('yiiActiveForm');
//check if we are in submission process and if there are any errors
if (data.submitting && errorAttributes.length > 0) {
$('.error-popup').show();
}
});
TA贡献1797条经验 获得超6个赞
您应该在 afterValidate 之后找到 has-error 类并显示弹出窗口尝试以下代码
$('.validate-form').on('afterValidate', function (event, messages, errorAttributes) {
if ($('.validate-form').find('.has-error').length) {
$('.error-popup').show();
}
});
TA贡献1895条经验 获得超7个赞
您可以通过以下方式解决此问题:
$("#register-form").on("beforeSubmit", function(event){
$(this).yiiActiveForm('validateAttribute', 'contactform-phone');
$(this).yiiActiveForm('validateAttribute', 'contactform-email');
if ($(this).find('.has-error').length) {
...
}
...
return false;
});
提交按钮会触发beforeSubmit事件,该事件又会触发您需要的任何字段的验证。如果验证结果错误,您可以执行与显示错误消息相关的 JS 逻辑。
- 3 回答
- 0 关注
- 142 浏览
添加回答
举报