Yii 在弹出框中提交时出错?
如何在弹出对话框中显示表单中的验证错误?我希望在弹出对话框中显示这些错误,而不是将其作为单独的div显示在表单顶部,以便用户单击“确定”并关闭该框。如何在yii中执行此操作?如果启用客户端验证,则会在文本框下显示错误消息,下拉列表。没有用于弹出错误消息的内置选项 不过,如果您需要弹出错误消息显示,则必须使用jquery。然后在Yii论坛中添加帮助他人的内容:-)Yii 在弹出框中提交时出错?,yii,Yii,如何在弹出对话框中显示表单中的验证错误?我希望在弹出对话框中显示这些错误,而不是将其作为单独的div显示在表单顶部,以便用户单击“确定”并关闭该框。如何在yii中执行此操作?如果启用客户端验证,则会在文本框下显示错误消息,下拉列表。没有用于弹出错误消息的内置选项 不过,如果您需要弹出错误消息显示,则必须使用jquery。然后在Yii论坛中添加帮助他人的内容:-) 有关客户端验证的详细信息,请参阅此(Yii论坛)您可以使用自定义CFormModel自己构建HTML视图,并在模式弹出窗口中使用get
有关客户端验证的详细信息,请参阅此(Yii论坛)您可以使用自定义CFormModel自己构建HTML视图,并在模式弹出窗口中使用getError()方法 见:
和:将您自己的javascript函数名注册到
afterValidate
,这是CActiveForm表单类中clientOptions
属性中的选项之一
你的申报表应该有
'clientOptions' => array(
'validateOnSubmit' => true,
'afterValidate' => 'js:myFunc',
),
你的表格会像下面这样出现
<?php
$form = $this->beginWidget('CActiveForm', array(
'id' => 'a-form',
'enableClientValidation' => true,
'enableAjaxValidation' => true,
'errorMessageCssClass' => 'required',
'clientOptions' => array(
'validateOnSubmit' => true,
'afterValidate' => 'js:myFunc',
),
));
?>
------Your form fields------------
------Your form fields------------
------Your form fields------------
<?php $this->endWidget(); ?>
------您的表单字段------------
------您的表单字段------------
------您的表单字段------------
现在,您的myFunc代码:
<script type="text/javascript" charset="utf-8">
function myFunc(form, data, hasError)
{
if (hasError)
{
var errors='';
$.each(data, function(obj)
{
errors+=data[obj][0]+"\n";
});
alert(errors);
// Do what ever you want
return true;
}
}
</script>
函数myFunc(表单、数据、hasError)
{
if(hasrerror)
{
var误差=“”;
$。每个(数据、功能(obj)
{
错误+=数据[obj][0]+“\n”;
});
警报(错误);
//你想干什么就干什么
返回true;
}
}
如果您按照Kumar_v的建议将此添加到yii论坛,将非常有帮助!!:-)