如何使用插入验证器为yii2所需?

时间:2015-03-11 07:45:03

标签: yii yii2

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

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

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

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

。 有什么问题可以解释一下吗? 提前谢谢。

2 个答案:

答案 0 :(得分:12)

您应该在验证前设置模型的场景:

$model->scenario = 'insert';

自Yii2以来:

  

默认情况下,模型仅支持名为default

的单个方案

了解详情:http://www.yiiframework.com/doc-2.0/guide-structure-models.html#scenarios

答案 1 :(得分:4)

首先定义场景:

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

OR

// 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