2014-09-26 31 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