Сообщение об ошибке для проверки ввода не отображается - PullRequest
0 голосов
/ 12 ноября 2010

Я новичок в Zend Framework, пожалуйста, помогите мне ...

// 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 Ответ

1 голос
/ 12 ноября 2010

Я использую следующую конструкцию для определения параметров элемента:

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

В приведенном выше коде валидаторы указываются двумя способами ... Каждый валидатор может иметь много сообщений ...

...