Zend framework2 从zf2中的表单对象获取输入验证程序
我有以下输入过滤器:Zend framework2 从zf2中的表单对象获取输入验证程序,zend-framework2,Zend Framework2,我有以下输入过滤器: 'term' => array( 'required' => false, 'filters' => array( array( 'name' => 'StringTrim', ) ),
'term' => array(
'required' => false,
'filters' => array(
array(
'name' => 'StringTrim',
)
),
'validators' => array(
array(
'name' => 'StringLength',
'options' => array(
'max' => 128
)
)
)
),
我需要以编程方式从表单对象中获取“validators”属性中“max”选项的值。您应该添加更多的信息来说明为什么这是答案。@MrTux我相信代码本身就说明了问题,并且这段代码提供的任何信息都不含糊。答案绝对正确,但我是正确的奇怪的是,为什么没有一个简单的方法来检查元素是否有这样一个
验证器
,然后从中获取max
值。@Kunaldesethe可能是因为验证器不是这样使用的,它们的意思是在输入时进行验证
,而不是询问输入您有什么验证器
$vc = $form->getInputFilter()->get('term')->getValidatorChain()->getValidators();
foreach($vc as $v){
if($v['instance'] instanceof \Zend\Validator\StringLength)
$max = $v['instance']->getMax();
}