0

私は成績 (例: A、B、C...) を受け入れるテーブルを持っており、もう 1 つはマーク (0-100) を受け入れるテーブルを持っています。範囲は 75 ~ 100 です。

ユーザーがグレードを入力した場合、そのグレードの範囲内のマークのみを受け入れる必要があります。私の 2 つのフィールドは次のとおりです。

$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'=>''));

私が立ち往生しているみんなを助けてください

4

1 に答える 1

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..
    }
}
?>

それが役立つことを願っています。

于 2012-06-26T22:29:43.497 に答える