Предупреждение: htmlspecialchars() ожидает, что параметр 1 будет строкой, массивом, указанным в library\Zend\View\Abstract.php в строке 905 в Zend

Я очень новичок в мире Zend. У меня есть форма, которая создается путем расширения BaseApp_Form. И, очевидно, на эти поля также налагается проверка. Но после отправки формы, если она выдает ошибку проверки, вместе с сообщением об ошибке проверки я получаю Warning: htmlspecialchars() expects parameter 1 to be string, array given in \library\Zend\View\Abstract.php on line 905. Я понял, что это проблема для функции escape($var), которая находится под library/zend/view/abstract.php. Значения $var иногда не нулевые, а иногда ничего. Вот почему htmlspecialchars() не работает должным образом. Но теперь как решить этот вопрос.

ОБНОВЛЕНО

public function init()
    {
         $validators=array(
                new Zend_Validate_Db_NoRecordExists(array(
                'table' => 'table_name',
                'field' => 'name'
        )),new Zend_Validate_Alnum(array('allowWhiteSpace'=>true)),new Zend_Validate_Regex(array('pattern' => '/^[a-z]/i')));


        $this->setMethod('post');

        $this->addElement('text','name',array(
            'label'=>'Name',
            'required'=>true,
            'filters'=>array('StringTrim')
        ));

        $this->getElement('name')->addValidators($validators);

        $this->addElement('textarea','textarea1',array(
            'label'=>'textarea11',
            'required'=>true,
            'filters'=>array('StringTrim'),
            'rows' => 5,
            'cols' => 50
        ));


        $this->addElement('textarea','textarea2',array(
            'label'=>'textarea22',
            'required'=>true,
            'filters'=>array('StringTrim'),
            'rows' => 5,
            'cols' => 50
        ));


       $this->addElement('textarea','textarea3',array(
            'label'=>'textarea33',
            'required'=>true,
            'filters'=>array('StringTrim'),
            'rows' => 5,
            'cols' => 50
        ));


        $this->addElement('checkbox','isApproved',array(
            'label'=>'Is Approved',
            'required' =>false
        ));

        $this->addElement('submit','saveCategory',array(
            'ignore'=>true,
            'label'=>'Save Category'
    )); 

    }

это внутри класса, который расширяет Zend_Form, и на странице просмотра я вызываю эту форму.


person Mausumi    schedule 16.07.2013    source источник
comment
вы можете поделиться кодом, где вы получаете эту ошибку?   -  person bansi    schedule 16.07.2013
comment
@Yogesh Я думаю, что это в codeigniter. Но, как я уже сказал, я очень новичок в зенде, поэтому не могли бы вы помочь только в зенде?   -  person Mausumi    schedule 16.07.2013
comment
@Mausumi В ошибке ясно сказано, что для нее требуется строка, а вы передаете массив.   -  person Yogesh Suthar    schedule 16.07.2013