Hiho,La validation du formulaire ZF2 est vide Les validations échouent toujours
J'ai un problème avec un formulaire ZF2. Chaque fois que je soumets j'ai eu l'erreur suivante:
(result of $form->isValid() and var_dump($form->getMessages());
array (size=1)
'imagecode' =>
array (size=1)
'isEmpty' => string 'Value is required and can't be empty' (length=36)
Ce qui suit est le 'imagecode' - formfieldcode:
public function __construct($name = null)
{
parent::__construct('advert');
$this->setAttribute('method', 'post');
$this->add(array(
'name' => 'imagecode',
'type' => 'Zend\Form\Element\Textarea',
'attributes' => array(
'required' => 'required',
),
'options' => array(
'label' => 'Bannercode:'
),
));
Et le validateur:
public function getInputFilter()
{
if (!$this->_inputFilter) {
$inputFilter = new InputFilter();
$factory = new InputFactory();
...
$inputFilter->add($factory->createInput(array(
'name' => 'imagecode',
'required' => true,
'filters' => array(
array('name' => 'StripTags'),
array('name' => 'StringTrim'),
),
'validators' => array(
array(
'name' => 'StringLength',
'options' => array(
'min' => '3',
'max' => '5000',
),
),
),
)));
$this->_inputFilter = $inputFilter;
}
return $this->_inputFilter;
}
Les autres champs fonctionnent correctement et sont validés mais pas le Textarea.
Enfin, le ControllerCode:
$advert = $service->getAdvertById($id);
$form = $service->getAdvertForm();
$request = $this->getRequest();
$form->bind($advert);
if ($request->isPost()) {
$filter = new AdvertFilter();
$form->setData($request->getPost());
$form->setInputFilter($filter->getInputFilter());
Après cette validation échoue et je ne sais pas pourquoi. J'espère que quelqu'un peut m'aider.
Pouvez-vous nous montrer ce que vous essayez d'entrer dans ce domaine? Quelques exemples de données de poste. – guessimtoolate