Yii ajax验证不显示错误消息

时间:2015-10-27 20:58:39

标签: javascript php jquery ajax yii

当我通过Ajax验证表单时,显示错误消息时遇到问题。 Ajax验证工作正常,但不显示错误消息。在控制台中,当我输入

时,我会收到验证错误消息
<?php echo $form->errorSummary($model); ?>

它还显示所有错误消息,但我需要显示与模型的适当属性对应的每条消息。所以这个:

<?php echo $form->error($model, 'date_check_in') ?>

不要显示错误消息。 这是一张表格

<?php $form = $this->beginWidget('CActiveForm', array(
'id' => 'form-main',
'action' => Yii::app()->createUrl('/kolobok/default/order'),
'htmlOptions' => array(
    'class' => 'form-horizontal',
),
'enableAjaxValidation'=>true,
'enableClientValidation'=>false,
'clientOptions'=>array(
    'validateOnSubmit'=>true,
    'validateOnChange'=>false,
    'validateOnType'=>false,
    'afterValidate' => 'js: function(form, data, hasError) {
                if (data == null) return true;
       if (data.length && data.length > 0) return false;
       if (data.length === 0)  return true;
       for (var key in data) {
           if (hasOwnProperty.call(data, key)) return false;
       }
       return true;
   }'
),
)); ?>

我的行动:

    public function actionOrder()
{
    $model=new Order;
    if(isset($_POST['ajax']) && $_POST['ajax']==='form-main')
    {
        echo CActiveForm::validate($model);
        Yii::app()->end();
    }
    if(isset($_POST['Order']))
    {
        $model->attributes=$_POST['Order'];

        if( $model->save()){
            Yii::app()->user->setFlash('success', "Data1 saved!");
            $this->redirect(Yii::app()->request->urlReferrer);
        }

    }

}

此外,通过小部件进行表单显示。我错了什么?

1 个答案:

答案 0 :(得分:1)

问题在于输入字段的id。我删除了id并且它有所帮助!