0
验证我的用户是否检查了复选框列表中的至少一个选项时出现问题。Cakephp验证我的用户是否至少检查了一个选项
这里是我的尝试: 我的看法是这样的:
echo $this->Form->input('market_segment_targeted', array(
'multiple' => 'checkbox',
'label'=>array('text' => 'Market segment targeted', 'class'=>'w120'),
'options' => array(
'Home users' => 'Home users',
'SOHO' => 'SOHO',
'SMB' => 'SMB',
'Enterprise' => 'Enterprise'
),
));
在我的控制器中我已经添加以下代码片段:
$validate_on_fly = array(
'market_segment_targeted' => array(
'notEmpty' => array(
'rule' => array('multiple', array('min' => 1)),
'required' => true,
'message' => 'Please select at least one!'
))
)));
$this->Partner->validate = Set::merge(
$this->Partner->validate,
$validate_on_fly
);
任何想法我做错了什么?
谢谢
这是什么问题?模型是否允许您提交无效数据,还是阻止提交有效数据? – JJJ
我可以在不检查任何选项的情况下提交此表单。 – user1482442
你的代码适合我。您确定在保存数据时没有手动禁用验证,或者在保存数据后没有在控制器中修改验证规则?把一个调试($ this-> validate);在Partner.php的beforeValidate()中检查是否通过验证。顺便说一句,最好是管理模型中的所有验证... – Chris