2014-09-26 60 views
0

我有以下的輸入濾波器:獲取輸入驗證在ZF2

'term' => array(
       'required' => false, 
       'filters' => array(
         array(
          'name' => 'StringTrim', 
        ) 
       ), 
       'validators' => array(
        array(
        'name' => 'StringLength', 
        'options' => array(
          'max' => 128 
        ) 
       ) 
       ) 
      ), 

我需要從一個形式編程獲取物體的「驗證」屬性內的「最大」選項的值。

回答

1
$vc = $form->getInputFilter()->get('term')->getValidatorChain()->getValidators(); 

foreach($vc as $v){ 
    if($v['instance'] instanceof \Zend\Validator\StringLength) 
     $max = $v['instance']->getMax(); 
} 
+1

您應該添加更多信息爲什麼這是答案。 – MrTux 2014-09-27 11:41:34

+0

@MrTux我相信代碼可以自己說話,並且沒有什麼隱晦的代碼來提供任何信息 – Exlord 2014-09-27 11:54:18

+0

答案是絕對正確的,但我很驚訝,爲什麼沒有一個簡單的方法可用來檢查元素是否有這樣的一個「驗證器」,然後從中獲取「最大」值。 – 2014-09-27 11:56:31