2011-05-05 5 views
1

Ceci est ma forme zend Codevalidation de formulaire ne fonctionne pas dans le formulaire Zend

<?php 
class Form_Bookmark extends Zend_Form{ 
    function init(){    
     $url_address = $this->createElement("text", "url_address"); 
     $url_address->setLabel("Url");   
     $url_address->isRequired(TRUE); 
     $bmk_title = $this->createElement("text", "bmk_title"); 
     $bmk_title->setLabel("Title"); 
     $bmk_title->isRequired(TRUE); 
     $bmk_desc = $this->createElement("textarea", "bmk_desc"); 
     $bmk_desc->setLabel("Description"); 
     $bmk_ispublic = $this->createElement("checkbox", "bmk_ispublic"); 
     $bmk_ispublic->setLabel("IsPublic?"); 
     $bmk_ispublic->isRequired(TRUE); 
     $submit = new Zend_Form_Element_Submit("submit"); 
     $submit->setValue("Submit"); 
     $this->addElement($url_address); 
     $this->addElement($bmk_title); 
     $this->addElement($bmk_desc); 
     $this->addElement($bmk_ispublic); 
     $this->addElement($submit); 
    } 
} 
?> 

Ceci est mon code du contrôleur

$f = Zend_Controller_Front::getInstance(); 
     $bookmark_form = new Form_Bookmark(); 

     $bookmark_form->setAction($f->getBaseUrl()."/user/index"); 
     $bookmark_form->setMethod("POST"); 
     if($this->getRequest()->isPost()){   
      if($bookmark_form->isValid($_POST)){ 

       echo "FORM VALIDATED SUCCESSFULLY"; 
      }else{ 
       echo "FORM VALIDATION FAILED"; 
      } 
     } 

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

Le problème est cette validation de formulaire ne fonctionne pas. il affiche toujours "FOR VALIDATED SUCCESSFULLY" même si je soumets le formulaire vide bien que j'ai ajouté $ url_address-> isRequired (TRUE); propriété "TRUE".

Répondre

4

correct nom de la méthode est setRequired:

$bmk_title->setRequired(true); 
Questions connexes