我的模型对象实现 InputFilterAwareInterface 并具有 getInputFilter() 方法,该方法返回 Zend\InputFilter\InputFilter 实例
在我的情况下,我不需要表单,我只需要验证数组中的元素。如何在不创建表单类的情况下使用 Zend\InputFilter\InputFilter 验证数组中的数据?
我的模型对象实现 InputFilterAwareInterface 并具有 getInputFilter() 方法,该方法返回 Zend\InputFilter\InputFilter 实例
在我的情况下,我不需要表单,我只需要验证数组中的元素。如何在不创建表单类的情况下使用 Zend\InputFilter\InputFilter 验证数组中的数据?
希望代码是不言自明的(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();
/* ... */
}