Symfony 2 Validation Form -



Symfony 2 Validation Form -

i new , need help.

i have problem when seek validate form.

below different files:

amiattrbtype.php

<?php namespace site\testbundle\form; utilize symfony\component\form\abstracttype; utilize symfony\component\form\formbuilderinterface; utilize symfony\component\optionsresolver\optionsresolverinterface; class amiattrbtype extends abstracttype { /** * @param formbuilderinterface $builder * @param array $options */ public function buildform(formbuilderinterface $builder, array $options) { $builder ->add('email','text', array( 'required' => true, 'attr' => array( 'placeholder' => 'adresse mail' ))) ->add('produitsattrb','collection', array( 'type' => new produitattrbtype() )); } /** * @param optionsresolverinterface $resolver */ public function setdefaultoptions(optionsresolverinterface $resolver) { $resolver->setdefaults(array( 'data_class' => 'site\testbundle\entity\ami' )); } /** * @return string */ public function getname() { homecoming 'site_testbundle_amiattrb'; } }

produitattrbtype.php

<?php namespace site\testbundle\form; utilize symfony\component\form\abstracttype; utilize symfony\component\form\formbuilderinterface; utilize symfony\component\optionsresolver\optionsresolverinterface; class produitattrbtype extends abstracttype { /** * @param formbuilderinterface $builder * @param array $options */ public function buildform(formbuilderinterface $builder, array $options) { $builder ->add('nom', 'hidden') ->add('qte','integer', array( 'required' => true )); } /** * @param optionsresolverinterface $resolver */ public function setdefaultoptions(optionsresolverinterface $resolver) { $resolver->setdefaults(array( 'data_class' => 'site\testbundle\entity\produitattrb' )); } /** * @return string */ public function getname() { homecoming 'site_testbundle_produitattrb'; } }

controller.php

public function attrbaction(event $commande) { $ami = new ami; foreach($commande->getproduits() $produit) { $ami->addproduitsattrb(new produitattrb($produit->getnom(),0)); } $form = $this->createform(new amiattrbtype(),$ami); $request = $this->get('request'); if( $this->get('request')->getmethod() == 'post' ) { $form->bind($request); if ($form->isvalid()) { $commande->addami($ami); $em = $this->getdoctrine()->getmanager(); $em->merge($commande); $em->flush(); homecoming $this->render('sitetestbundle:test:attrb.html.twig', array('commande' =>$commande, 'form' => $form->createview())); } } homecoming $this->render('sitetestbundle:test:attrb.html.twig', array('commande' =>$commande, 'form' => $form->createview())); }

attrb.html.twig:

<tr> <td class="attrb-new"> <div class="row"> <div class="col-xs-12"> {{ form_widget(form.email) }} </div> </div> </td> {% produit in form.produitsattrb %} <td class="attrb-newqte"> {{ form_widget(produit.qte) }} </td> {% endfor %} {{ form_rest(form) }} </tr>

i have 2 case: if, in controller, utilize bind($request), have 2 errors:

- email empty (email has been entered) - token invalid (token exist in source code)

i don't understand why have errors.

if utilize handlerequest($request), nil happening.

my symfony version higher 2.3 bindhas worked.

when remove part in twig code , have bind($request):

{% produit in form.produitsattrb %} <td class="attrb-newqte"> {{ form_widget(produit.qte) }} </td> {% endfor %}

it's works.

please can help me.

thank in advance.

regards

you should pass request object action instead of getting service. this:

public function testaction(request $request, $myotherargs) { .... $form->handlerequest($request); ... }

also, if want see what's causing error, can var_dump form after calling handlerequest:

var_dump($form->geterrors(true));

forms validation symfony2 bind

Comments

Popular posts from this blog

xslt - DocBook 5 to PDF transform failing with error: "fo:flow" is missing child elements. Required content model: marker* -

mediawiki - How do I insert tables inside infoboxes on Wikia pages? -

Local Service User Logged into Windows -