8

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

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

4

1 回答 1

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();
    /* ... */
}
于 2012-11-18T22:36:41.647 回答