J'ai essayé d'ajouter un validateur dynamique à une collection, mais tout ce que j'ai essayé n'a pas fonctionné.Validateurs de collection dynamique ZF2
Si j'ai - disons - 3 fieldsets dans une collection, je veux seulement que le second fieldset (avec le nom "1") ait un champ obligatoire.
$input_filter = new Filter\Edit();
$collection_input_filter = new CollectionInputFilter();
$orderDetailFilter = new Filter\OrderDetail($serviceManager);
$collection_input_filter->setInputFilter($orderDetailFilter);
$input_filter->add($collection_input_filter, 'details');
$this->setInputFilter($input_filter)
->setHydrator(new DoctrineHydrator($entityManager))
->setObject(new Order());
Non, je ne pense pas que vous pouvez le faire. Puisque le filtre d'entrée pour les fieldsets est la même instance. – Pradeep
Je peux parcourir pour fieldset après que le formulaire soit lié à l'objet entité et avant que le formulaire ne soit validé, je peux définir pour chaque groupe de validation ou ajouter un nouveau validateur mais ne pas en tenir compte. ce n'est pas une bonne idée si vous avez une forme de un à plusieurs, dans la partie de l'objet plusieurs peuvent avoir des exigences différentes – user3143015
Essayez d'imprimer l'identifiant de l'objet du filtre d'entrée pour chaque fieldset. Il imprime le même identifiant d'objet, donc si vous attachez des validateurs différents, il modifiera le même objet encore et encore, de sorte qu'il ne prendra pas effet. – Pradeep