2011-05-05 61 views
1

工作这是我的Zend形式的代码表单验证未在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); 
    } 
} 
?> 

这是我的控制器代码

$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; 

问题是这样的表单验证不起作用。即使我已经添加了$ url_address-> isRequired(TRUE),但我仍然提交空格式,但它总是显示“FORM VALIDATED SUCCESSFULLY”。属性“TRUE”。

回答

4

正确的方法名setRequired:

$bmk_title->setRequired(true);