Php 需要字段,但不总是-Yii2
是否有可能在一种形式中要求字段,而在另一种形式中不要求字段?我有两种不同的形式,不同的模型,它们有一个共同的字段,我希望它在第一个字段中是必需的,在另一个字段中是可选的Php 需要字段,但不总是-Yii2,php,yii2,Php,Yii2,是否有可能在一种形式中要求字段,而在另一种形式中不要求字段?我有两种不同的形式,不同的模型,它们有一个共同的字段,我希望它在第一个字段中是必需的,在另一个字段中是可选的 最好将场景作为常量添加到模型中,而不是硬编码字符串,例如: const SCENARIO_CREATE = 'create'; 然后你可以这样使用它: [['email','password'], 'required', 'on' => self::SCENARIO_CREATE], Another way is to
最好将场景作为常量添加到模型中,而不是硬编码字符串,例如:
const SCENARIO_CREATE = 'create';
然后你可以这样使用它:
[['email','password'], 'required', 'on' => self::SCENARIO_CREATE],
Another way is to describe it in scenarios() method:
public function scenarios()
{
$scenarios = parent::scenarios();
$scenarios[self::SCENARIO_CREATE] = ['email', 'password'];
return $scenarios;
}
这样,您需要为不同操作的每个场景指定所有安全属性
在模型中设置场景
$model = new User;
$model->scenario = User::SCENARIO_CREATE;
最好将场景作为常量添加到模型中,而不是硬编码字符串,例如:
const SCENARIO_CREATE = 'create';
然后你可以这样使用它:
[['email','password'], 'required', 'on' => self::SCENARIO_CREATE],
Another way is to describe it in scenarios() method:
public function scenarios()
{
$scenarios = parent::scenarios();
$scenarios[self::SCENARIO_CREATE] = ['email', 'password'];
return $scenarios;
}
这样,您需要为不同操作的每个场景指定所有安全属性
在模型中设置场景
$model = new User;
$model->scenario = User::SCENARIO_CREATE;
使用