And*_*rew 12 zend-framework zend-form
在我的表单中,我试图验证用户两次都填写相同的值(以确保他们没有犯错).我认为这Zend_Validate_Identical是为了什么,但我不太确定如何使用它.这是我到目前为止所得到的:
$this->addElement('password', 'password', array(
'label' => 'Password:',
'required' => true,
'validators' => array(
'Identical' => array(What do I put here?)
)
));
$this->addElement('password', 'verifypassword', array(
'label' => 'Verify Password:',
'required' => true,
'validators' => array(
'Identical' => array(What do I put here?)
)
));
Run Code Online (Sandbox Code Playgroud)
我需要两个元素吗?我在阵列中放了什么?
Jas*_*son 28
为了它的价值,在1.10.5版本中添加了对模型中两个相同表单字段进行比较的支持.我写了一个关于这个问题的简短教程,您可以通过以下链接访问该教程,但最重要的是Zend_Validate_Identical验证器已被重构以接受表单字段名称作为输入.例如,要比较表单字段pswd和confirm_pswd的值,您可以将验证器附加到confirm_pswd,如下所示:
$confirmPswd->addValidator('Identical', false, array('token' => 'pswd'));
Run Code Online (Sandbox Code Playgroud)
奇迹般有效.
有关更完整的示例,请参阅使用Zend Framework验证相同的密码.
我目前无法测试,但我认为这可能有效:
$this->addElement('password', 'password', array(
'label' => 'Password:',
'required' => true
));
$this->addElement('password', 'verifypassword', array(
'label' => 'Verify Password:',
'required' => true,
'validators' => array(
array('identical', true, array('password'))
)
));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18341 次 |
| 最近记录: |