我有一个带有四个复选框的ActiveForm:
<?= $form->field($model, 'admin')->checkbox() ?>
<?= $form->field($model, 'newsletterAccess')->checkbox() ?>
<?= $form->field($model, 'groupAccess')->checkbox() ?>
<?= $form->field($model, 'templateAccess')->checkbox() ?>
并且当选中第一个复选框(admin)时,只有在选中所有四个复选框时才能提交表单。 我的规则应该是什么样的?我试过这样的事情:
[['newsletterAccess', 'groupAccess', 'templateAccess'], 'compare', 'compareValue' => true,
'when' => function ($model) {
return $model->admin == 1;
}
但它不起作用。 谢谢你的帮助。
答案 0 :(得分:1)
你也需要操作员
[['newsletterAccess', 'groupAccess', 'templateAccess'], 'compare',
'compareValue' => true,
'operator' => '=='
'when' => function ($model) {
return $model->admin == 1;
}