我有一个选择下拉菜单,我希望用户为数据库中的字段选择两个选项。问题是我如何使其禁止重复选择选项,目前它正在保存所有选项,即使它们相同。
我的 add.ctp 中用于选择选项的代码是:
echo $this->Form->select("ProgrammeChoice.programme_code.0",$finals);
echo $this->Form->select("ProgrammeChoice.programme_code.1",$finals);
变量
$finals
从数据库中的另一个表中获取选择选项,它位于控制器中,代码是:
$finals = array_merge($filtered_programs,$non_preq_programs);
所以,我需要帮助来验证我的选择菜单,以拒绝提交时的重复选择。
创建自定义验证规则并比较此处所述的值:http://book.cakephp.org/2.0/en/models/data-validation.html#adding-your-own-validation-methods
在验证方法中,您的数据存储在
$this->data
中。
它应该看起来与此类似:
public function compare($field1) {
if($field1 === $this->data['ProgrammeChoice']['programm_code']['1']) {
return false;
}
return true;
}