Mat*_*hew 4 php regex forms zend-framework zend-form
我有以下代码:
$postcode = $form->createElement('text', 'postcode');
$postcode->setLabel('Post code:');
$postcode->addValidator('regex', false,
array('/^[a-z]{1,3}[0-9]{1,3} ?[0-9]{1,3}[a-z]{1,3}$/i'));
$postcode->addFilters(array('StringToUpper'));
$postcode->setRequired(true);
它在表单中创建一个输入字段并设置正则表达式验证规则并且工作得很好.
问题是当用户输入无效的邮政编码时显示的错误信息是:
'POSTCODE' does not match against pattern
'/^[a-z]{1,3}[0-9]{1,3} ?[0-9]{1,3}[a-z]{1,3}$/i'
(输入是POSTCODE)
如何更改此消息以使其更友好?
我想要记住,您可以在Validator中设置错误消息:
$postcode = $form->createElement('text', 'postcode');
$postcode->setLabel('Post code:');
$postcode->addValidator('regex', false, array(
'pattern' => '/^[a-z]{1,3}[0-9]{1,3} ?[0-9]{1,3}[a-z]{1,3}$/i')
'messages' => array(
'regexInvalid' => "Invalid type given, value should be string, integer or float",
'regexNotMatch' => "'%value%' does not match against pattern '%pattern%'",
'regexErrorous' => "There was an internal error while using the pattern '%pattern%'"
)
);
$postcode->addFilters(array('StringToUpper'));
$postcode->setRequired(true);
Run Code Online (Sandbox Code Playgroud)
如果这不起作用,请尝试
| 归档时间: |
|
| 查看次数: |
4980 次 |
| 最近记录: |