生徒が科目の結果を入力するフォームがあります。科目リストで英語が失敗した場合、つまり (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 です。正確にどこで、どのように検証を行うことができるかわかりません。