我正在使用以下代码:
$form->addElement('password', 'elementOne');
$form->addElement('password', 'elementTwo', array(
'validators' => array(
array('identical', false, array('token' => 'elementOne'))
)
));
如果两个文本都不同,我会从验证器中收到错误,但如果我将第二个文本留空,则验证不会触发。为什么呢?
(我不想根据需要放置字段,因为用户只有在想要更改密码时才填写它们,但他也可以将它们留空)
我做错了什么?我应该在两个元素上放置验证器吗?
答案 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']))
)
));