当我通过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);
}
}
}
此外,通过小部件进行表单显示。我错了什么?
答案 0 :(得分:1)
问题在于输入字段的id。我删除了id并且它有所帮助!