Zend валидатор не работает - PullRequest
0 голосов
/ 21 апреля 2011

Я создаю форму Zend.

когда я отправляю форму, сообщения об ошибках не отображаются. Кажется, что валидатор никогда не запускается. Это мой код:

$ form = new Zend_Form;

  $form->setMethod('POST')
   ->setAttrib('Name','pwdfrm')       
         ->setAttrib('Id','pwdfrm');

     $email = new Zend_Form_Element_Text('email');
  $email->setLabel('Email :')
      ->setDecorators($this->textbox)
      ->setRequired(true)
      ->addValidator('NotEmpty', true)
      ->addErrorMessage('In valid');

          $form->addElements(array($email, 
              new Zend_Form_Element_Submit('submit',array(
                  'decorators' => $this->buttonDecorators,
                  'Label'=>'Submit',
              )),
              ));

  $form->setDecorators(array(   
     'FormElements',
    array('HtmlTag', array('tag' => 'table','align'=>'center','class'=>'tbcss','width'=>'100%','border'=>1)),

'Form',   
     ));

$ this-> view-> правопреемником ( 'форма', $ форма);
$ Это -> _ helper-> layout-> disableLayout ();

если ($ request-> isPost ())
{
print_r ($ request-> getPost ());
}

А это мои декораторы:

public $ textbox = array (

'ViewHelper',     
  'FormElements',   
  array(array('data' => 'HtmlTag'),array('tag' => 'td', 'class' =>

'элемент', 'ширина' => '43%', 'VALIGN' => 'сверху')),

  'Errors',

array(array('closeLabel' => 'HtmlTag'),array('tag' => 'td','closeOnly' => true, 'placement' =>'prepend')),    
     'Label',

массив (array ('openLabel' => 'HtmlTag'), массив ('tag' => 'td',> 'openOnly' => true, 'align' => 'right', 'valign' => 'сверху', 'ширина' => '15%')), * 1 027 *

array(array('row' => 'HtmlTag'), array('tag' => 'tr')),   
 );   

public $ buttonDecorators = array (

    'ViewHelper',
    'Errors',
  'FormElements',
    array('HtmlTag', array('tag' => 'td','align'=>'center','colspan'=>'2')),
    array(array('row' => 'HtmlTag'), array('tag' => 'tr')),
);

Может кто-нибудь помочь мне, плз.

1 Ответ

1 голос
/ 21 апреля 2011

Я думаю, что вы пропустили

 // Check method/data validitiy
   if( !$form->isValid($this->getRequest()->getPost()) ) {
      return;
    }

Удачи: -)

...