Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour,
J'ai réalisé un formulaire qui contient un champ input de type file à l'aide d'un élément de type \Zend\Form\Element\File. Ensuite j'ai rajouté un validateur pour vérifier l’extension du fichier ainsi que le nombre de fichier présent dans le champs.
Ce qui donne le code suivant dans le constructeur du formulaire :
[lang=php]$formFilter = new \Zend\InputFilter\InputFilter(); $inputFile = new \Zend\Form\Element\File('inputFile'); $formFilter->add(array( 'name' => 'inputFile', 'required' => true, 'validators' => array( array( 'name' => 'File\Extension', 'options' => array('extension' => 'csv') ), array( 'name' => 'File\Count', 'options' => array('max' => 1, 'min' => 1) ) ) )); $this->add($inputFile); $this->setInputFilter($formFilter);
Le problème est que après avoir fait un setData() avec un merge des données post et file, lorsque l'appelle à la fonction isValid() du formulaire ce fait, j’obtiens les erreurs suivantes.
PHP Warning: stream_resolve_include_path() expects parameter 1 to be string, array given in Zend/Validator/File/Extension.php on line 188
PHP Notice: Undefined index: name in Zend/Validator/File/Extension.php on line 193
PHP Notice: Undefined index: name in Zend/Validator/File/Extension.php on line 193
PHP Warning: dirname() expects parameter 1 to be string, array given in Zend/Validator/File/Count.php on line 207
PHP Fatal error: Uncaught exception 'Zend\View\Exception\InvalidArgumentException' with message 'Array provided to Escape helper, but flags do not allow recursion' in Zend/View/Helper/Escaper/AbstractHelper.php:103
Stack trace:
#0 Zend/Form/View/Helper/AbstractHelper.php(233): Zend\View\Helper\Escaper\AbstractHelper->__invoke(Array)
#1 Form/View/Helper/FormInput.php(117): Zend\Form\View\Helper\AbstractHelper->createAttributesString(Array)
#2 Zend/Form/View/Helper/FormInput.php(136): Zend\Form\View\Helper\FormInput->render(Object(Zend\Form\Element\File))
#3 Zend/Form/View/Helper/FormElement.php(95): Zend\Form\View\Helper\FormInput->__invoke(Object(Zend\Form\Element\File))
Auriez vous une idée d'où pourrait provenir ces erreurs vu que le fichier est pourtant bien présent dans la variable file?
Merci d'avance pour votre aide.
Hors ligne