0

再び困惑。(Zend フレームワーク 1.11.1)

非常に単純なフォームにバリデーターを追加しましたが、無効なデータが入力されても何も起こりません。

コード:

    $form = new Zend_Form;
    $form->setAction('/MyController/reponsepage')
           ->setMethod('post');
    $form->setAttrib('id', 'firstTestForm');
    $form->addElement('text', 'email', array('label' => 'EMail', 'value' => $this->_user['email']));
    $form->addElement('hidden', 'expertID', array('value' => $_targetExpertID));
  $form->addElement('submit', 'Submit and Be Free!');
  $v = new Zend_Validate_EmailAddress();
  $v->setMessage('Please enter a valid email address.');
  $mailElem = $form->getElement('email')
      ->addValidator($v)
      ->setRequired(true);

    $this->view->form = $form;

setRequired は何もしないようです。フィールドを空のままにして送信を押すと、すぐに実行されます。ガベージ データも通過します。

エラーメッセージも何もありません。

ライブラリ ディレクトリには次のものが含まれます。

PATH_BLAH\library\Zend\Validate.php and
PATH_BLAH\library\Zend\Validate\ with all the normal stuff

何が間違っているのかを推測するのはちょっと難しいです。

頭に浮かぶかもしれない手がかりを教えていただければ幸いです。

読んでくれてありがとう。

4

2 に答える 2

1

フォームにデータを渡していますか?

if ($this->getRequest()->isPost()
    && $form->isValid($this->getRequest()->getPost())) {
    // process form
}
于 2010-12-07T04:54:09.257 に答える
0

フィル・ブラウンはそれを釘付けにしました。

私は実際に投稿を読み返すことを怠っていました。

ここでヘッドスラップ...

于 2010-12-10T20:17:05.047 に答える