2011-05-04 66 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