我有一个简单的问题,我没有找到答案,那就是
如何使用内置的Zend Validator来测试 float / dobule 是否大于或等于min?
我已经找到了符合我要求的答案,我发现了这个问题GreaterOrEqual validator in Zend Framework但我的有点不同。此外,我知道我可以创建自己的Validator或复制其中一个像Greater Than or Equal Validator这样的网络,但我想知道如何使用内置的验证器进行验证。
这是一个让你更好理解的例子。
如果我有一个整数,我可以用这种方式实现这个目标:
$Validators = array(new Zend_Validate_Int(), new Zend_Validate_GreaterThan($min - 1));
// Validate the number
相反,如果我有一个浮点数,我不能做这个技巧,正如许多程序员所知,尝试用浮点数做脏事可能会因为舍入问题而产生很多问题({{3} })。
感谢所有
答案 0 :(得分:2)
这不是你要求的,但我认为这是最简单的: 关键是'无礼'。
$number->addValidator('Float');
$number->addValidator('Between', false,array('min' => '5,5', 'max' => $greatest_number+1, 'inclusive' => true));
这里有所有验证器:
Zend_Validate_Abstract Class Reference
所以你的问题的答案是'不',浮点数没有大于或等于验证者。
答案 1 :(得分:2)
在我尝试了很多方法后,我得出结论实际上(Zend Framework版本1.11)使用内置验证器进行这种验证是不可能的(如Phil所建议的那样)。
我真的希望他们会在下一个版本中添加这个验证器。
答案 2 :(得分:-1)
使用
怎么样?new Zend_Validate_Callback( function($ value){ if($ value> = 1){ 返回true; } 返回false; });