我有以下代码Zend Framework的输入验证消息
$validators = array(
'name' => array('NotEmpty',
'messages' => 'A valid name is required'
),
'email'=> array(
new Zend_Validate_Regex("^[a-z0-9]+[a-z0-9_-]*(\.[a-z0-9_-]+)*@[a-z0-9_-]+(\.[a-z0-9_-]+) *\.([a-z]+){2,}$^"),
'messages' => array('A valid email is required',
Zend_Validate_Regex::NOT_MATCH=>'The email is not valid',)
))
,当我检查的isValid和双方的姓名和电子邮件是空的,我得到两个“需要一个有效的名称”
结果看起来像
Array
(
[name] => Array
(
[isEmpty] => A valid name is required
)
[email] => Array
(
[isEmpty] => A valid name is required
)
)
所以我的问题是如何使两个都是空的情况下获得所需的每个消息?我还需要电子邮件验证才能正常工作并显示正确的消息。 在此先感谢。
问题是我没有使用Zend_Form,我只是需要简单的表单验证,谢谢。 – Centurion 2011-04-03 16:22:26
为什么不呢? Zend_Form使得它很简单地处理表单。然而,在你的代码中,你似乎只设置了一个验证器,但你需要两个验证器。尝试将它们分开。你可以尝试静态验证器,Zend_Validate :: is($ email,'EmailAddress') – 2011-04-04 05:01:38