Zend框架1.12验证器错误

时间:2017-06-07 21:04:52

标签: php validation zend-framework

我在Zend Framework 1.12中遇到了StringLength验证程序的错误。错误是:

  在注册表中找不到名称为StringLength的

插件;已使用   路径:Zend_Validate_:Zend的/验证/

我的表格是:

<?php

class Application_Form_Public_Registrazione_Registra extends App_Form_Abstract
{

    //definisco la variabile per la connessione al database
    protected $_publicModel;

    public function init()
    {
        $this->_publicModel = new Application_Model_Public();
        $this->setMethod('post');
        $this->setName('registra');
        $this->setAction(''); //vuota in quanto si genera nel Controller

        //per la gestione degli elementi di tipo file
        $this->setAttrib('enctype', 'multipart/form-data');

        //elemento grafico relativo al nome
        $this->addElement('text', 'nome', array(
            'label'       => 'Nome',
            'filters'     => array('StringTrim'),
            'validators'  => array(array('StringLenght', true, array(3, 20))),
            'required'    => true,
            'description' => 'Inserisci il tuo nome',
            'decorators'  => $this->elementDecorators,
        ));

        //elemento grafico relativo al cognome
        $this->addElement('text', 'cognome', array(
            'label'       => 'Cognome',
            'filters'     => array('StringTrim'),
            'validators'  => array(array('StringLenght', true, array(3, 20))),
            'required'    => true,
            'description' => 'Inserisci il tuo cognome',
            'decorators'  => $this->elementDecorators,
        ));

        //elemento grafico relativo al sesso
        $this->addElement('select', 'sesso', array(
            'label'        => 'Sesso',
            'multiOptions' => array('1' => 'M', '0' => 'F'), //1=maschio, 0=femmina
            'decorators'   => $this->elementDecorators,
        ));

        //elemento grafico relativo all' etá
        $this->addElement('text', 'eta', array(
            'label'       => 'Etá',
            'filters'     => array('StringTrim'),
            'validators'  => array(array('StringLenght', false, array(3, 20))), //false perché non deve proseguire se non é soddisfatto
            'required'    => true,
            'description' => 'Inserisci il tuo cognome',
            'decorators'  => $this->elementDecorators,
        ));

        //elemento grafico relativo al numero di telefono
        $this->addElement('text', 'telefono', array(
            'label'       => 'Telefono',
            'filters'     => array('StringTrim'),
            'validators'  => array(array('StringLenght', false, array(3, 20))), //false perché non deve proseguire se non é soddisfatto
            'required'    => true,
            'description' => 'Inserisci il tuo numero di telefono',
            'decorators'  => $this->elementDecorators,
        ));

        //elemento grafico relativo all'indirizzo
        $this->addElement('text', 'indirizzo', array(
            'label'       => 'Indirizzo',
            'filters'     => array('StringTrim'),
            'validators'  => array(array('StringLenght', false, array(3, 20))), //false perché non deve proseguire se non é soddisfatto
            'required'    => true,
            'description' => 'Inserisci il tuo indirizzo',
            'decorators'  => $this->elementDecorators,
        ));

        //elemento grafico relativo alla cittá
        $this->addElement('text', 'citta', array(
            'label'       => 'Città',
            'filters'     => array('StringTrim'),
            'validators'  => array(array('StringLenght', false, array(3, 20))),
            'required'    => true,
            'description' => 'Inserisci la tua città',
            'decorators'  => $this->elementDecorators,
        ));

        // elemento grafico relativo alla email
        $this->addElement('text', 'email', array(
            'label'      => 'La tua Email',
            'required'   => true,
            'filters'    => array('StringTrim'),
            'decorators' => $this->elementDecorators,
            'validators' => array(
                'EmailAddress',
            )
        ));

        //elemento grafico relativo all'username
        $this->addElement('text', 'username', array(
            'label'       => 'Username',
            'filters'     => array('StringTrim'),
            'validators'  => array(array('StringLenght', true, array(3, 20))),
            'required'    => true,
            'description' => 'Inserisci il tuo username scelto',
            'decorators'  => $this->elementDecorators,
        ));

        //elemento grafico relativo alla password
        $this->addElement('text', 'password', array(
            'label'       => 'Password',
            'filters'     => array('StringTrim'),
            'validators'  => array(array('StringLenght', true, array(3, 20))),
            'required'    => true,
            'description' => 'Inserisci la tua password scelta',
            'decorators'  => $this->elementDecorators,
        ));

        //elemento grafico relativo alla foto profilo
        $this->addElement('file', 'foto', array(
            'label'       => 'Immagine',
            'destination' => APPLICATION_PATH . '/../public/images/fotoutenti',
            'validators'  => array(
                array('Count', false, 1),
                array('Size', false, 202400), //9 mb per l'img
                array('Extension', false, array('jpg', 'gif'))),
            'decorators'  => $this->fileDecorators,
        ));

        //elemento grafico relativo al bottone conferma
        $this->addElement('submit', 'registrati', array(
            'label'      => 'Conferma e Registrati',
            'decorators' => $this->buttonDecorators,
        ));

        //setto i decorators
        $this->setDecorators(array(
            'FormElements',
            array('HtmlTag', array('tag' => 'table', 'class' => 'zend_form')),
            array('Description', array('placement' => 'prepend', 'class' => 'formerror')),
            'Form'
        ));

    }
}

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

我认为你拼错了StringLength验证名称。您写道:StringLenght,它确实不存在。