2010-12-07 2 views
0

Nochmals verwirrt. (Zend Framework 1.11.1)zend validator Zend_Validate_EmailAddress tut nichts: site config sieht OK aus, ist aber wahrscheinlich nicht

Ich habe soeben ein sehr einfaches Formular einem Validator hinzugefügt und es passiert nichts, wenn ungültige Daten eingegeben werden.

Der Code:

$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 scheint nichts zu tun. Wenn Sie das Feld leer lassen und auf "submit" tippen, geht es durch. Müll Daten gehen auch durch.

Keine Fehlermeldungen, nichts.

Das Bibliotheksverzeichnis enthält:

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

Es ist irgendwie schwer zu erraten, was falsch sein könnte.

Ich wäre sehr dankbar für jeden Hinweis, der Ihnen in den Sinn kommen könnte.

Danke fürs Lesen.

Antwort

1

Übergeben Sie die Daten an das Formular?

if ($this->getRequest()->isPost() 
    && $form->isValid($this->getRequest()->getPost())) { 
    // process form 
} 
+0

Das war die richtige Antwort. Tut mir leid, dass ich nicht früh genug hier war, um es zu posten. – confused

0

Phil Brown hat es genagelt.

Ich hatte eigentlich vergessen, den Beitrag zu lesen.

Head-slap hier ...