如何在 yii2 的插入验证器上使用 required?

how to use required on insert validator for yii2?

任何人都可以就如何在 yii2 中使用 "on" => "insert" 验证提出建议吗? 我用过

array('field_name', 'required', 'on'=>'insert')

Yii1 但在 yii2 它不检查我是否设置

['field_name', 'required', 'on'=>'insert']

。 你能解释一下这里的问题是什么吗? 提前致谢。

您应该在验证之前简单地设置模型的场景:

$model->scenario = 'insert';

自从使用 Yii2 以来:

By default, a model supports only a single scenario named default

阅读更多:http://www.yiiframework.com/doc-2.0/guide-structure-models.html#scenarios

首先定义场景:

// scenario is set as a property
$model->scenario = 'insert';

// scenario is set through configuration
$model = new User(['scenario' => 'insert']);

那么您可以将规则指定为:

// for single field
['field_name', 'required', 'on' => 'insert'],

// for multiple fields
[['field_name1','field_name2'], 'required', 'on' => 'insert'],

更多详情请查看:http://www.yiiframework.com/doc-2.0/guide-structure-models.html#validation-rules