Cakephp:如何验证字段以接受特定条目的一系列值

时间:2012-06-26 17:50:25

标签: cakephp cakephp-1.3 cakephp-2.0 cakephp-2.1

我有一张接受等级的表(例如A,B,C ......),另一张接受标记(0-100)。我希望每个等级接受指定范围的标记.Eg A必须接受任何等级标记在75-100范围内。

如果用户输入成绩,则应该只接受该成绩范围内的商标。我的两个字段如下。

$mygrade =array('A'=>'A','B'=>'B','C'=>'C','D'=>'D','E'=>'E','U'=>'U');
        echo $this->Form->label('Grade: ');


echo $this->Form->label('Mark(%): ');
echo $this->Form->input("ApplicantOlevelQualification.mark.$s",array('label'=>''));

请帮助我被困的人

1 个答案:

答案 0 :(得分:2)

如果我理解您的问题是正确的,那么您正尝试使用所选的成绩来验证您的商标。

我假设,ApplicantOlevelQualification是您的模特。 创建模型并包含验证:

<?php
class ApplicantOlevelQualification extends AppModel {
    public $validate = array(
        'grade' => array(
            'notempty' => array(
                'rule' => array('inList', array('A', 'B')),
                'message' => 'Not in range.',
            )
        ),
        'marks' => array(
            'notempty' => array(
                'rule' => array('validMarks'),
                'message' => 'Marks does not meet the criteria.',
            ),
        )
    );

    function validMarks($check) {
        //Access $this->data and $check to compare your marks and grade..
    }
}
?>

希望有所帮助。