1

生徒が科目の結果を入力するフォームがあります。科目リストで英語が失敗した場合、つまり (D,E)、または入力されていない場合は、次のページに移動してはなりません。

私のコントローラーは、保存する前に次のようにデータを受け取ります

for ($i = 1; $i < sizeof($this->data['ApplicantOlevelQualification']['olevel_subject_code']); $i++) {

                if ($this->data['ApplicantOlevelQualification']['olevel_subject_code'][$i] != "") {
                    $this->ApplicantOlevelQualification->create();
                    $this->ApplicantOlevelQualification->id = null;
                    $this->ApplicantOlevelQualification->set(array(
                            'applicants_detail_id' => $app_id,
                            'olevel_subject_code' => $this->data['ApplicantOlevelQualification']['olevel_subject_code'][$i],
                            'grade' => $this->data['ApplicantOlevelQualification']['grade'][$i],
                            'centre_number'=> $centre_number, 
                            'candidate_number'=> $candidate_number, 
                            'exam_body_code'=> $exam_body_code,
                            'year_written'=> $year_written,

                        )
                    );

この後の私のセーブは

if ($this->ApplicantOlevelQualification->save()) {      
                        $this->Session->setFlash(__('Your O\'level Qualifications have been saved'));
                    }   else {
                        $this->Session->setFlash(__('Your O\'level Qualifications failed to save.'));
                    }
                }

みんな私の英語は

 'olevel_subject_code' = 8900,

そして、英語の成績がA、B、Cの学生だけが欲しい

   'grade'=A,B or C

保存して続行するには、残りはそのビューに残す必要があります。私のモデル名は ApplicantOlevelQualification です。正確にどこで、どのように検証を行うことができるかわかりません。

4

1 に答える 1

0

私があなたの問題を理解しようとした限り、ループの開始直後に if 条件を課すことができます。特定の値の間にグレードが存在するかどうかを確認できます。うまくいかない場合は、さらに詳しく説明してください。

于 2012-07-03T04:22:19.533 に答える