验证错误yii2

时间:2018-04-12 03:29:16

标签: javascript php yii2

我遇到了这个问题我将模型中的字段设置为唯一。以下是我的模特:

[['user_id'], 'unique'],
[['country_id'], 'unique'],

在我的控制器中

if ($model->load(Yii::$app->request->post()) && $model->save()) {
    return $this->redirect(['view', 'id' => $model->id]);
}

将显示唯一验证器。但当我将控制器更改为:

if ($model->load(Yii::$app->request->post())) {
    $model->country_id = 3;
    $model->save();
}

我的应用程序未显示验证程序。相反,它说它保存。

这是来自yii2的错误,或者我在这里做错了什么。

谢谢。

2 个答案:

答案 0 :(得分:0)

如果修改模型的验证有错误,则$ model-> save()应返回false 所以你可以检查这个条件,以显示一个正确的消息表格(或妥善管理这种情况)

  if ($model->load(Yii::$app->request->post())) {
  $model->country_id = 3;
  if (!$model->save()){
      return $this->render('yoru_message_form');
    }
  }

答案 1 :(得分:0)

if ($model->load(Yii::$app->request->post())) {
   $model->country_id = 3;
   if($model->validate() == true){
      $model->save();
   }
   else{
      $error = $model->getErrors();
   }
}

$error将返回模型错误。