Yii 在弹出框中提交时出错?

Yii 在弹出框中提交时出错?,yii,Yii,如何在弹出对话框中显示表单中的验证错误?我希望在弹出对话框中显示这些错误,而不是将其作为单独的div显示在表单顶部,以便用户单击“确定”并关闭该框。如何在yii中执行此操作?如果启用客户端验证,则会在文本框下显示错误消息,下拉列表。没有用于弹出错误消息的内置选项 不过,如果您需要弹出错误消息显示,则必须使用jquery。然后在Yii论坛中添加帮助他人的内容:-) 有关客户端验证的详细信息,请参阅此(Yii论坛)您可以使用自定义CFormModel自己构建HTML视图,并在模式弹出窗口中使用get

如何在弹出对话框中显示表单中的验证错误?我希望在弹出对话框中显示这些错误,而不是将其作为单独的div显示在表单顶部,以便用户单击“确定”并关闭该框。如何在yii中执行此操作?

如果启用客户端验证,则会在文本框下显示错误消息,下拉列表。没有用于弹出错误消息的内置选项

不过,如果您需要弹出错误消息显示,则必须使用jquery。然后在Yii论坛中添加帮助他人的内容:-)


有关客户端验证的详细信息,请参阅此(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论坛,将非常有帮助!!:-)