Yii2 客户端表单验证
Yii2 client side form validation
我有一个 Yii2 ActiveFrom。
将提交按钮替换为
<button class="btn <?= $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary' ?>"
onclick="submitit();return false;">
<?= $model->isNewRecord ? 'Create' : 'Update' ?>
</button>
因为我需要在后台处理页面时显示模态叠加层。 (请稍等...)。
$('#rebates-form').yiiActiveForm('validate')
总是return未定义。
即使我打电话
$("#rebates-form").data('yiiActiveForm')
在 'validate' 之后,"validated" 元素始终为 false,即使表单没有验证错误。
$('#rebates-form').yiiActiveForm('submitForm')
始终return false,即使表单已提交。
如何触发我的请稍候对话框
$('#pleaseWaitDialog').modal('show');
仅在无验证错误的情况下显示?
以下解决方案有效:
$(document).ready(function () {
$("#rebates-form").on("beforeSubmit", function (event, messages) {
$('#pleaseWaitDialog').modal('show');
return true;
});
});
function submitit(element) {
$('#rebates-form').yiiActiveForm('submitForm')
}
带有 submitit 函数调用的额外按钮也可以省略,因为事件 "beforeSubmit" 无论如何都会触发。
只有表单验证成功才会触发此事件。
(见 https://github.com/yiisoft/yii2/blob/master/framework/assets/yii.activeForm.js 的评论)
我有一个 Yii2 ActiveFrom。
将提交按钮替换为
<button class="btn <?= $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary' ?>"
onclick="submitit();return false;">
<?= $model->isNewRecord ? 'Create' : 'Update' ?>
</button>
因为我需要在后台处理页面时显示模态叠加层。 (请稍等...)。
$('#rebates-form').yiiActiveForm('validate')
总是return未定义。
即使我打电话
$("#rebates-form").data('yiiActiveForm')
在 'validate' 之后,"validated" 元素始终为 false,即使表单没有验证错误。
$('#rebates-form').yiiActiveForm('submitForm')
始终return false,即使表单已提交。
如何触发我的请稍候对话框
$('#pleaseWaitDialog').modal('show');
仅在无验证错误的情况下显示?
以下解决方案有效:
$(document).ready(function () {
$("#rebates-form").on("beforeSubmit", function (event, messages) {
$('#pleaseWaitDialog').modal('show');
return true;
});
});
function submitit(element) {
$('#rebates-form').yiiActiveForm('submitForm')
}
带有 submitit 函数调用的额外按钮也可以省略,因为事件 "beforeSubmit" 无论如何都会触发。
只有表单验证成功才会触发此事件。
(见 https://github.com/yiisoft/yii2/blob/master/framework/assets/yii.activeForm.js 的评论)