将一个元素留空时,zend Identical Validator问题

时间:2011-09-11 06:08:25

标签: php zend-framework zend-form

我正在使用以下代码:

$form->addElement('password', 'elementOne');
$form->addElement('password', 'elementTwo', array(
    'validators' => array(
        array('identical', false, array('token' => 'elementOne'))
    )
));

如果两个文本都不同,我会从验证器中收到错误,但如果我将第二个文本留空,则验证不会触发。为什么呢?

(我不想根据需要放置字段,因为用户只有在想要更改密码时才填写它们,但他也可以将它们留空)

我做错了什么?我应该在两个元素上放置验证器吗?

2 个答案:

答案 0 :(得分:1)

问题是AllowEmpty标志(当不需要元素时,此标志设置为true)。我将其设置为false,验证器现在按预期启动。

器setAllowEmpty(假)

答案 1 :(得分:0)

$form->addElement('password', 'elementOne');
$form->addElement('password', 'elementTwo', array(
    'validators' => array(
        array('identical', false, array('token' => $_POST['elementOne']))
    )
));