我有一个选择下拉菜单,我希望用户为数据库中的字段选择两个选项。问题是如何使它不允许重复选择选项,目前它保存所有选项,即使它们是相同的。
选择选项的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);
所以,我想要帮助验证我的选择菜单以拒绝提交时的重复选择。
答案 0 :(得分:0)
创建自定义验证规则并按照此处所述比较值: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;
}