Yii2 仅验证创建操作

Yii2 Validate Only Create Action

现在在我的模型中有这样的验证规则

 [['title'], 'required'],

但它在创建和更新操作时均有效。 我想做的只是验证创建操作。 请帮忙!!!

其名称为 'scenarios':http://www.yiiframework.com/doc-2.0/guide-structure-models.html#scenarios

模型中:

public function rules()
{
    return [
        ['title', 'required', 'on' => 'create']
    ];
}

在控制器中:

public function actionCreate()
{
     $model = new Item();
     $model->scenario = 'create';
     ...
}

不过你最好将场景定义为常量。

你可以使用 yii 2 中的场景来实现这一点。 'on'=>'create' 场景可以在模型中使用。

[['title'], 'required','on'=>'create'],

并且在控制器中,您必须调用该场景。

public function actionCreate()
{
     $model = new Student();
     $model->scenario = 'create';
     ...
}

自定义场景的概念也提供了更好的验证规则。 参考:- custom scenarios in yii 2