I read this question on SO: \"how to disable inArray validator forms in zend framework2\" and was trying to find it out, but couldn\'t find any way to detach/remove the
Well, you could just replace the validator chain with a new one. Let's say I have an element with two validators:
And I want to remove the EmailAddress validator from it. You could do something like this:
// create new validator chain
$newValidatorChain = new \Zend\Validator\ValidatorChain;
// loop through all validators of the validator chained currently attached to the element
foreach ($form->getInputFilter()->get('myElement')->getValidatorChain()->getValidators() as $validator) {
// attach validator unless it's instance of Zend\Validator\EmailAddress
if (!($validator['instance'] instanceof \Zend\Validator\EmailAddress)) {
$newValidatorChain->addValidator($validator['instance'], $validator['breakChainOnFailure']);
}
}
// replace the old validator chain on the element
$form->getInputFilter()->get('myElement')->setValidatorChain($newValidatorChain);
Easy ;)