2010-11-12 98 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' 
    )); 

校验在上面的代码中用两种方法指定.... 每个验证器可以有很多消息...