我想验证CollectionInputFilter中项目的最小/最大计数。我的代码是:
<?php
declare(strict_types=1);
use Laminas\InputFilter;
use Laminas\Validator;
include_once __DIR__ . '/vendor/autoload.php';
$config = [
'items' => [
'required' => true,
'type' => InputFilter\CollectionInputFilter::class,
'input_filter' => [
'id' => [
'required' => true,
],
],
'validators' => [
[
'name' => Validator\IsCountable::class,
'options' => [
'max' => 1,
],
],
],
],
];
$data = [
'items' => [
[
'id' => 'foo',
],
[
'id' => 'bar',
],
],
];
$factory = new InputFilter\Factory();
$inputFilter = $factory->createInputFilter($config);
$inputFilter->setData($data);
var_dump($inputFilter->isValid()); // outputs true
但是CollectionInputFilter
/InputFilterInterface
本身没有经过验证。
任何建议如何验证通过的最小/最大计数$data
?