8
我的模型對象實現InputFilterAwareInterface並有getInputFilter()方法,該方法返回的Zend \輸入過濾器\輸入過濾實例如何在Zend框架使用輸入過濾不形類2
我不需要形式,我的情況,我只是需要驗證數組中的元素。我如何使用Zend \ InputFilter \ InputFilter來驗證數組中的數據而不創建表單類?
我的模型對象實現InputFilterAwareInterface並有getInputFilter()方法,該方法返回的Zend \輸入過濾器\輸入過濾實例如何在Zend框架使用輸入過濾不形類2
我不需要形式,我的情況,我只是需要驗證數組中的元素。我如何使用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();
/* ... */
}
您能否提供一種方法來從驗證只有一行組? – yurisnk
@yurisnk您可以在調用setValidationGroup()時設置要驗證的字段列表,只需使用 - > setValidationGroup('field_name')'爲單個字段或' - > setValidationGroup(array('field_name1','field_name2' ))'上面例子中的字段集合。 –