Reputation: 478
I have a model that is accessible to more than one user. Each user has a role. Below is my model rule
public function rules()
{
return [
[['sim_id', 'meter_id','imei_id'], 'required'],
[['sim_id', 'meter_id', 'installed_by', 'updated_by','is_latest'], 'integer'],
id']]
];
}
In above I want the imei_id => required
only when the role is 2
. User role can be taken out Yii::$app->user->identity->user_role
How can I do this? Any help would be highly appreciated
Upvotes: 0
Views: 155
Reputation: 18021
public function rules()
{
return [
[['sim_id', 'meter_id'], 'required'],
[['imei_id'], 'required', 'when' => function () {
return Yii::$app->user->identity->user_role === 2;
}],
];
}
Just remember it won't work on the client side (only server side).
Upvotes: 4