我真的很感谢一些帮助,这让我发疯了。我正在尝试验证 zend 表单以整数或小数(2 位小数)的形式提交的数字,允许 0 或 0.00 但不能为空输入。
$form->element->addValidator ('regex', false, array(
'pattern'=>'/^\d+(\d{1,5})?(\.\d{1,2})?$/',
'messages'=>array(
'regexInvalid'=>'required',
'regexNotMatch'=>'number required')
)
);
出于某种原因,像 100.00 这样的浮点数会生成以下验证错误消息:“'100.00' 包含不是数字的字符;但只允许使用数字”。没有生成 regexNotMatch 消息或 regexInvalid 消息,这是我所期望的。
此验证错误消息似乎是由我没有调用的数字验证器生成的,我可以做些什么来阻止它启动吗?
空输入也不会生成任何验证错误消息。
如果我尝试使用像 'rt67' 这样的字符串,我的 regexNotMatch 消息会正确显示。
如果这有什么不同,我正在使用没有 mvc 的 zend 组件。