yii2 模态属性动态需要

yii2 modal attribute as required dynamically

我有一个字段是强制性的,但并不总是强制性的。如果我按照模态 rules() 中的要求编写属性,例如:[['my_attribute'], 'required'] 那么它将在每种情况下都需要该字段。

我可以根据需要制作特定模态的属性吗?在控制器或模态的自定义函数中(即我需要强制字段的地方)。

P.S:我想避免 jQuery 和 JavaScript。请回答 Yii2 中是否有办法完成它:) 谢谢。

您可以使用 here 中的 when 所以,它看起来像这样:

public function rules()
{
    return [
        ['password', 'required', 'when' => function($model) {
            return $model->role === 'user'; // boolean should be returned
        }]
    ];
}

只有当$model的角色是user

时才会检查required条件下的属性