2011-04-20 86 views
4

几分钟前实现验证程序没有GreaterOrEqualThan验证程序,或GreaterThan验证程序中的参数将其行为从>更改为>=Zend Framework中的GreaterOrEqual验证程序

为什么?是否有可能使用基本的zend框架验证器组成>=验证器?

是的,伙计们,我知道我可以写我自己的验证,但我很好奇基于原生ZF解决方案验证器;-)

+0

你想与GreaterOrEqualThan或GreaterThan比较什么?我认为zend框架实现在某个时候结束,因为它仍然是一个需要根据您的需求进行定制的框架。然而有趣的问题;) – 2011-04-20 12:30:38

+0

我创建了我自己的接受“严格”选项的GT和LT验证器。 – 2011-04-20 12:41:15

+0

@ArtWorkAD:好的,一些zend验证器接受控制验证器行为的附加参数。例如“相同”的“严格”参数,“alnum”的“allowWhiteSpace”,“between”之间的“包含”(!!!!!!!)等等。因此它是“包容性”的, 'greaterThan'选项。这是不公平的;-) – zerkms 2011-04-20 12:51:38

回答

3

我设置array('min' => ($value-1))和使用GreaterThan。也许使用一个链,并添加Digits,所以你确保你正在处理数字。这样的事情:

$value = 10; 

$chain = new Zend_Validate(); 
$chain->addValidator(new Zend_Validate_Digits()); 
$chain->addValidator(new Zend_Validate_GreaterThan(array('min' => ($value-1)))); 

var_dump($chain->isValid($value), $chain->getMessages()); 

我认为这就和ZF一样。虽然不会因为获得功能请求而受伤。将是一个很好的补充。否则,请扩展GreaterThan并添加一个选项。

+0

是的,因为我需要'> = -1',所以我使用了'int'验证器并将'-1.1'的值指定为'min'。但是这看起来像一个肮脏的黑客;-) – zerkms 2011-04-21 01:21:55

+0

是的,我会扩展GreaterThan并使其工作。让我知道你是否需要帮助。 – Till 2011-04-21 09:57:09

+0

大声笑,我不; ;-) – zerkms 2011-04-21 10:17:51