2011-08-08 3 views
0

を無視し、私は次の検証を持っている:Zend_Validate_GreaterThanが同じ値に

$gvGreaterThanPvValidate = new Zend_Validate_GreaterThan(array('min' => 100)); 
$gvGreaterThanPvValidate->setMessage('GV should be greater than PV or equal'); 
$gv->addValidator($gvGreaterThanPvValidate); 

は、このバリデータの戻りFALSE値= 100のためではなく、同じ値をTRUEを返す必要がありますZendのドキュメントをよります。手伝って頂けますか?私の英語のために申し訳ありません。

答えて

2

これはGreaterThanバリデータのコードです。したがって、数値が等しい場合はfalseを返します。

if ($this->_min >= $value) { 
     $this->_error(self::NOT_GREATER); 
     return false; 
    } 
    return true; 

そしてドキュメントは言う:Returns true if and only if $value is greater than min optionだから、値がある場合は、それが「包括的」スイッチを持っている、あなたが間にバリデータを使用することができます偽

+0

はい、申し訳ありません。あなたはそれ以上のバリデータを知っていますか? – pltvs

+0

http://www.nickpack.com/article/zend-framework-greaterthan-equalto-validator – yokoloko

2

を返し等しいです。 PHP_INT_MAXのようにmaxをsomethng本当に大きな値に設定するだけです。それはハックですが、それは動作します

0

私は同じことを探していたので、実際のコードを読んだ後、私は「包括的」オプションがあり、これをtrueに設定し、GreaterThanOrEqualToバリ:

これはZF2のためです:

 $this->add([ 
      'name' => 'bill_total', 
      'required' => true, 
      'filters' => [ 
       ['name' => 'StringTrim'] 
      ], 
      'validators' => [ 
       [ 
        'name' => 'greaterThan', 
        'options' => [ 
         'min' => 5, 
         'inclusive' => true 
        ] 
       ] 
      ] 
     ] 
    );