如何在symfony 1.4中的字段上添加多个验证器

时间:2011-06-15 06:54:31

标签: forms symfony-1.4 field validation

我已将此代码写入位于{app}/lib/form/doctrine/base中的'BaseUserForm'类中。我正在尝试向EMAIL字段添加两个验证器。

$this->setValidators(array(
        'id' => new sfValidatorChoice(array(
            'choices' => array(
                $this->getObject()->get('id')
            ),
            'empty_value' => $this->getObject()->get('id'),
            'required' => false
        )),
        'name' => new sfValidatorString(array('max_length' => 50)),
        'email' => array(
            new sfValidatorString(array('max_length' => 100)),
            new sfValidatorEmail(array('trim' => true))
        ),
        'password' => new sfValidatorString(array('max_length' => 100)),
        'retyepassword' => new sfValidatorString(array('max_length' => 100)),
        'city_id' => new sfValidatorDoctrineChoice(array(
            'model' => $this->getRelatedModelName('Cities')
        )),
        'phone' => new sfValidatorNumber(),
        'created' => new sfValidatorDateTime(),
        'updated' => new sfValidatorDateTime(),
    ));

上面的代码在定义电子邮件字段的两个验证器时出错。

此外,我发现很难找到这些验证器的相关代码(示例显示用法)。 jobeet教程没有多大帮助。

请分享一些好的博客/文章/论坛,我可以找到与上述问题相关的帮助。

由于

2 个答案:

答案 0 :(得分:2)

sfValidatorAnd()会有所帮助;

祝你好运

答案 1 :(得分:1)

'email'       => new sfValidatorEmail(array('max_length' => 25, 'required' => TRUE),
                                              array('invalid' => 'The email address is invalid.', 'required' => 'Email Id is required.', 'max_length'=> 'Maximum 25 characters allowed.')),