0

我有一个表单和一个用户模型。在控制器中,我将表单验证器设置为$user->getInputFilter(). 这样可行。

然后我在表单中添加了一个验证码,没有任何其他代码,它似乎可以自行验证。所以我怀疑每个元素也可以有自己的验证器,无论表单的“全局”验证器如何,它都会被调用。

我正在使用“Factory Backed Form extension”构建我的表单,并采用此代码并像这样添加它(似乎正确,密码字段确实有'name' => 'password'):

$this->add(array(
    'name' => 'password_confirm',
    'attributes' => array(
        'type' => 'password',
        'required' => true,
    ),
    'options' => array(
        'label' => 'Confirm Password',
    ),
    'validators' => array(
        array('identical', false, array('token' => 'password'))
    )
));

但这并不有效(总是通过)。查看其他代码示例,将输入过滤器添加到单个元素似乎确实不错。如上所述,验证码似乎可以自我验证,但为什么不这样呢?我知道我可以自己检查和使用$form->addError($message),但我正在努力学习 Zend,所以我想尽可能多地利用它。任何指针将不胜感激。

4

1 回答 1

0

创建您的自定义验证密码检查。在这里回答:http: //zend-framework-community.634137.n4.nabble.com/Validation-identical-in-the-form-td671430.html

于 2013-01-07T16:31:47.917 回答