Zend框架中的多个Validator

时间:2010-04-27 21:07:04

标签: zend-framework forms validation

我想在Zend框架中创建一个表单。我在下面的代码中使用了一个字段:

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

这很有效。但现在我还想添加一个新的验证器。在这种情况下StrinLength

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

如何在已有的数组中添加此验证器? Tnx in advanced

2 个答案:

答案 0 :(得分:3)

这不起作用:

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

the example given in the manual类似

答案 1 :(得分:0)

您可以将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)
        )
    )
));