/** * @inheritdoc */ public function rules() { return [[['profile_id', 'profile_office_role'], 'required'], [['profile_id', 'profile_office_role'], 'string', 'max' => 50], ['office_id', 'required', 'when' => function ($model) { return $model->profile_office_role == 'manager'; }], ['region_id', 'required', 'when' => function ($model) { return $model->profile_office_role == 'commercial_director'; }], ['region_id', 'default', 'value' => function ($model) { return Office::findOne($model->office_id)->region_id; }]]; }