Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 需要字段,但不总是-Yii2_Php_Yii2 - Fatal编程技术网

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;
使用