An another example for multi language supported version.
public function __construct(InputFilterPluginManager $inputFilterPluginManager)
{
$partnersCollection = new CollectionInputFilter();
$partnersInputFilter = $inputFilterPluginManager->get(PartnersInputFilter::class);
$partnersInputFilter->add([
'name' => 'membership_id',
'required' => true,
'validators' => [
['name' => Uuid::class],
[
'name' => NoRecordExists::class,
'options' => [
'table' => 'user_partners',
'field' => 'membership_id',
'adapter' => $adapter,
],
]
],
]);
$partnersInputFilter->add([
'name' => 'partner_id',
'required' => false,
'validators' => [
[
'name' => InArray::class,
'options' => [
'haystack' => [1,2],
]
],
],
]);
$partnersInputFilter->add([
'name' => 'partner_type',
'required' => false,
'validators' => [
[
'name' => InArray::class,
'options' => [
'haystack' =>['a','b'],
]
],
],
]);
$partnersInputFilter->add([
'name' => 'policy_or_member_no',
'required' => false,
'validators' => [
['name' => Digits::class],
],
]);
$partnersCollection->setInputFilter($partnersInputFilter);
// partners collection
//
$this->add($partnersCollection, 'partners');
}