Yii2 Ajax模态过帐与Ajax验证有效,但模型无法保存

时间:2019-02-15 23:02:08

标签: yii2-model yii2-validation

有许多建议可以以此开始控制器代码:

 if (Yii::$app->request->isAjax && $model->load(Yii::$app->request- 
 >post())) 
 {
     Yii::$app->response->format = Response::FORMAT_JSON;
     return ActiveForm::validate($model);
 }

在验证之后,我尝试了几种标准方法,但没有成功:

if($model->save()){

 return $this->redirect(['index']);
         }
       }

       return $this->renderAjax('create', [
         'model' => $model,
     ]);

我的问题是可以在调用“ return ActiveForm :: validate($ model)”下放置什么代码,以成功执行$ model->成功验证后保存?

2 个答案:

答案 0 :(得分:0)

我找到了可行的解决方案,这是链接:

yii2 form input ajax validation will not perfom

请注意,我最初在表单上附加了一个ajax发布脚本,因此不需要此脚本,因此我将其删除。似乎无论如何提交表单,enableAjaxvalidation都会以AJAX请求的形式发送帖子。

此外,它必须在控制器和表单页面中:

使用yii \ widgets \ ActiveForm;

答案 1 :(得分:0)

if($model->save(false)){

 return $this->redirect(['index']);
         }
       }

       return $this->renderAjax('create', [
         'model' => $model,
     ]);