有人可以就 yii2 中如何使用"on" => "insert"
验证提出建议吗?
我用过
array('field_name', 'required', 'on'=>'insert')
在 Yii1 ,但在 yii2 ,它不会检查我是否设置
['field_name', 'required', 'on'=>'insert']
。 有什么问题可以解释一下吗? 提前谢谢。
答案 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