2010-11-12 95 views
0

蔭新Zend框架請幫我...錯誤信息沒有顯示

// create text input for pharmacy name 
    $name = new Zend_Form_Element_Text('name'); 
    $name->setOptions(array('size' => '30')) 
    ->setRequired(true) 
    ->addValidator('NotEmpty') 
    ->addValidator('Alpha'); 
    $name->getValidator('NotEmpty')->setMessage('Please enter pharmacy name.'); 
     $name->getValidator('Alpha')->setMessage('PharmacyName can only contain letters and spaces.'); 


    // create submit button 
    $submit = new Zend_Form_Element_Submit('submit'); 
    $submit->removeDecorator('HtmlTag'); 
    $submit->setLabel('Save') 
    ->setOptions(array('class' => 'submit')); 

    // attach elements to form 
    $this->addElement($cd) 
    ->addElement($name) 
    ->addElement($submit); 
+1

和最新的你的問題? - 請發佈控制器代碼 – opHASnoNAME 2010-11-12 08:43:08

+0

我已經編輯了你的帖子,使其更具可讀性,但它仍然不是很清楚你的實際問題是什麼。您添加了一個代碼示例,但沒有描述導致您遇到問題的實際部分。如果你想回答這個問題,請更具描述性。 – 2010-11-12 08:46:22

+0

嗨,我有同樣的問題:驗證器的錯誤消息不會出現。這只是當(德語)變音符號在消息內,否則它工作正常。有任何想法嗎? – dforce 2012-03-27 20:57:02

回答

1

我用一個結構,如下定義元素參數:

$this->addElement('text', 'o_title', array(
     'label'  => 'title....', 
     'required' => true, 
     'filters' => array('StringTrim','WordLength'), 
     'validators' => array(
      array('validator' => 'StringLength', 'options' => array(0, 40,'utf8', 
            'messages'=>array('stringLengthTooLong'=>'Text too long'))), 
        array('NotEmpty', true, 
          array('messages'=>array('isEmpty'=>"Field must not be empty"))) 
      ), 
     'maxlength' => 40, 
     'decorators' => array('Uniform'), 
     'description'=> 'input only 40 chars' 
    )); 

校驗在上面的代碼中用兩種方法指定.... 每個驗證器可以有很多消息...