2010-04-27 48 views
0

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

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

This works。但是现在我也想添加一个新的验证器。在这种情况下StrinLength

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

我该如何添加这个验证器,我已经有了数组? TNX先进

回答

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

+0

当我回家时我会尝试它:)。 Tnx为您的重播,我会让你知道它是如何工作的! – iSenne 2010-04-28 08:40:34

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