Zend validator Zend_Validate_EmailAddress ничего не делает: конфигурация сайта выглядит нормально, но, вероятно, нет - PullRequest
0 голосов
/ 07 декабря 2010

снова сбит с толку.(Zend Framework 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

Это довольно сложноугадай что может быть не так.

Я был бы очень признателен за любую подсказку, которая может прийти вам в голову.

Спасибо за чтение.

Ответы [ 2 ]

1 голос
/ 07 декабря 2010

Передаете ли вы данные в форму?

if ($this->getRequest()->isPost()
    && $form->isValid($this->getRequest()->getPost())) {
    // process form
}
0 голосов
/ 10 декабря 2010

Фил Браун прибил его.

Я на самом деле пренебрегал чтением поста.

Пощечина здесь ...

...