2011-05-04 65 views
4
class Form_Accounts_Add extends Zend_Form { 


    public function init($options=array()) { 

     $first_name  = new Zend_Form_Element_Text('first_name'); 
     $last_name  = new Zend_Form_Element_Text('last_name'); 
     $email   = new Zend_Form_Element_Text('email'); 
     $password  = new Zend_Form_Element_Text('encrypted_password'); 

     $first_name->setRequired(false); 
     $last_name->setRequired(false); 
     $email->setRequired(true)->addFilter('StringToLower')->addValidator('NotEmpty', true)->addValidator('EmailAddress'); 
     $password->setRequired(true); 

     $this->addElements(array($first_name, $last_name, $email, $password)); 
    } 

} 

如果電子郵件無效,我會爲$ form-> getErrors('email')獲取emailAddressInvalidHostname;Zend_Form自定義錯誤消息

我想定製那個錯誤,有可能嗎?

+0

我不知道我的理解 – azz0r 2011-05-12 22:20:25

+0

好了肯定,我已經投票了,但不滴答作響,通過我的8頁不見了,正確授予。謝謝 – azz0r 2011-05-14 21:18:03

回答

13

這只是一個例子。這可以幫助你.....

$email = new Zend_Form_Element_Text('emailid'); 

$email->setLabel("Email-Adress :* ") 
     ->setOptions(array('size' => 20)) 
     ->setRequired(true) 
     ->addFilter('StripTags') 
     ->addFilter('StringTrim') 
     ->addValidator('EmailAddress') 
     ->getValidator('EmailAddress')->setMessage("Please enter a valid e-mail address."); 
+1

這對我來說不適用於'alnum'驗證器。在我的Zend_Form類中,我在做$ this-> addElement(...),我將驗證器部分從'validators'=> array('alnum')更改爲'validators'=> array(array('alnum ',true,array('messages'=> array('notAlnum'=>'CUSTOM MESSAGE'))) – jackocnr 2011-09-26 10:38:02