【发布时间】:2012-10-09 13:58:23
【问题描述】:
这应该是一个很好的简单问题。
在一个表单上,我有许多与为特定功能选择不同用户相关的复选框。复选框是这样创建的
$this->Form->input("user_select", array(
"type" => "checkbox",
"name" => "data[Registration][User][]",
"id" => "UserId" . $user['User']['id'],
"value" => $user['User']['id'],
"label" => false
));
当这个表单被提交时,它会通过注册控制器,但 request->data 数组包含格式中未选中的复选框:
array(
'Registration' => array(
'Users' => array(
(int) 0 => '0',
(int) 1 => '0',
(int) 2 => '0',
(int) 3 => '0',
(int) 4 => '31',
(int) 5 => '0',
(int) 6 => '11'
),
)
现在数据没有问题,可以清楚地看到用户的 31 和 11 已被选中,但我更喜欢表单的数组:
array(
'Registration' => array(
'Users' => array(
(int) 4 => '31',
(int) 6 => '11'
),
)
这将使处理和验证变得更加容易。
那么,CakePHP 有防止未选中的复选框显示在 request->data 数组中的功能吗?
【问题讨论】:
标签: php forms cakephp cakephp-2.0 cakephp-2.1