如何在Zend框架2中使用没有表单类的InputFilter

时间:2012-11-18 21:48:15

标签: validation zend-framework2 zend-inputfilter

我的模型对象实现了InputFilterAwareInterface并且有getInputFilter()方法,它返回了Zend \ InputFilter \ InputFilter实例

在我的情况下,我不需要表单,我只需要从数组中验证元素。如何在不创建表单类的情况下使用Zend \ InputFilter \ InputFilter验证数组中的数据?

1 个答案:

答案 0 :(得分:17)

希望代码不言自明(setData设置数组,setValidationGroup检查所有元素,isValid获取验证结果:

use \Zend\InputFilter\InputFilterInterface;

/* ... */

/** @var $data array */

/** @var $filter InputFilterInterface */
$filter = $this->getInputFilter();

$isValid = $filter->setData($data)
                  ->setValidationGroup(InputFilterInterface::VALIDATE_ALL)
                  ->isValid();

if (!$isValid)
{
    $errorMessages = $filter->getMessages();
    /* ... */
}