次のようなフォーム要素を作成しています。
$element = $this->CreateElement('select', 'countries');
$element->setLabel('Countries');
$element->setAttrib( 'required', true );
$element->addMultiOptions( array( ''=>'Select', '1'=>'Aus','2'=>'UK',.... ) );
次のコードはフォームを送信しています:
// form
$form = new SomeForm();
// get request
$request = $this->getRequest();
// isPost
if( $request->isPost() ) {
// isValid
if( $form->isValid( $request->getPost() ) ) {
$values = $form->getValues();
// Save values into database here
} else {
$this->view->msg = "Required Fields are missing.";
}
} else {
$this->view->msg = 'Form is not submitted properly';
}
フォームに適切に入力すると、レコードがデータベースに正常に保存されます。しかし、国を選択しないと、フォームも送信されます。「必須フィールドがありません」と表示する必要があると思います。必要なフィールドが欠落している場合、データベースに値を挿入する代わりにメッセージを送信します。
何が欠けていますか??
ありがとう