Zend Framework несколько валидаторов в массиве - PullRequest
0 голосов
/ 28 апреля 2010

Я хочу создать форму в Zend Framework. Я использую код ниже для поля:

$this->addElement('text', 'username', array(
    'label'      => 'Username:',
    'required'   => true,
    'filters'    => array('StringTrim'),
    'validators' => array(
        'alnum'
    )
));

Это работает. Но теперь я также хочу добавить новый валидатор. В этом случае StrinLength

$element->addValidator('StringLength', false, array(6, 20));

Как я могу добавить этот валидатор в массив, который у меня уже есть? Tnx в продвинутом

Ответы [ 2 ]

3 голосов
/ 28 апреля 2010

Разве это не работает:

<?PHP
$this->addElement('text', 'username', array(
    'label'      => 'Username:',
    'required'   => true,
    'filters'    => array('StringTrim'),
    'validators' => array(
        'alnum',
        array('StringLength', false, array(6,20))
    )
));

Аналогично примеру, приведенному в руководстве

0 голосов
/ 28 апреля 2010

Вы можете указать имена аргументов метода addValidator () в виде ключей массива:

$this->addElement('text', 'username', array(
    'label'      => 'Username:',
    'required'   => true,
    'filters'    => array('StringTrim'),
    'validators' => array(
        'alnum',
        // See below
        array(
            'validator'     => 'StringLength',
            'options'       => array(6, 20)
        )
    )
));
...