我的模型对象实现了InputFilterAwareInterface并且有getInputFilter()方法,它返回了Zend \ InputFilter \ InputFilter实例
在我的情况下,我不需要表单,我只需要从数组中验证元素。如何在不创建表单类的情况下使用Zend \ InputFilter \ InputFilter验证数组中的数据?
答案 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();
/* ... */
}