Cakephp:如何验证我的选择选项,以便限制所选选项的重复

时间:2012-06-25 14:23:57

标签: cakephp cakephp-2.0

我有一个选择下拉菜单,我希望用户为数据库中的字段选择两个选项。问题是如何使它不允许重复选择选项,目前它保存所有选项,即使它们是相同的。

选择选项的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);

所以,我想要帮助验证我的选择菜单以拒绝提交时的重复选择。

1 个答案:

答案 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;
}