php - Symfony form fails isValid -


i have strange issue have not been able debug when using forms in symfony. have form working fine long time , yesterday began failing $form->isvalid() check not return errors using either $form->geterrors() or $form->geterrorsasstring(). there strange twist one, if use \doctrine\common\utils\debug::dump($request->request->get('reportsettingstype') before calling $form->isvalid() passes check. real question, how can echoing request data cause form pass validation?

i including controller action , form class reference:

/**  * @route("/admin/report/build", name="build_report")  * @param \symfony\component\httpfoundation\request $request  */ public function generatereportaction(request $request) {     $em = $this->getdoctrine()->getmanager();     $report = new \save\reportbundle\entity\report;      $form = $this->createform( new \save\reportbundle\form\type\reportsettingstype, $report );                     $form->handlerequest($request);                                                    //echo '<pre>'; \doctrine\common\util\debug::dump($request->request->get('reportsettingstype'), 2); echo '</pre>';     if( $form->isvalid() ){         $data = $request->request->get('reportsettingstype');         if( $data['newreport'] == 1){             $date = new \datetime(date('m/d/y', time()));                         $client = $em->getrepository('saveclientbundle:client')->find($data['client']);             $title = strtolower(str_replace(' ', '_', $client->getname()).'_'.$date->format('m-d-y'));             $report->setdate($date);             $report->settitle($title);             $report->setclient($client);             $order = $em->getrepository('saveorderbundle:orders')->find($data['order']);             $report->setorder($order);             if( array_key_exists('reportfilter', $data)){                 $reportfilter = $em->getrepository('saveclientbundle:clientarea')->find($data['reportfilter']);                 $report->setreportfilter($reportfilter);             }             $assessments = $this->_findassessments( $report );             if( $assessments->count() === 0 ){                 $this->get('session')->getflashbag()->add('error', 'no assessments found area '.$report->getreportfilter()->getname());                 return $this->render('savereportbundle:default:reporterror.html.twig', array('report' => $report));             }             $report->setassessments( $assessments );             $report->settotals( $this->_calculatetotals( $report->getassessments() ) );             $report->setgrandtotals( $this->_calculategrandtotals( $report->gettotals() ) );             $report->setpossibles( $this->_calculatepossible( $report ) );             $report->setcount( $report->getassessments()->count() );              if( $report->getid() != "" && null !== $report->getid() ){                 $em->merge($report);             } else {                 $em->persist($report);             }             $em->flush();              $pagemaker = $this->get('page_helper');             $pagemaker->setreport($report);             $pagemaker->cleanupactions();             $pagemaker->createpages();             $report = $pagemaker->getreport();         } else {             $report = $em->getrepository('savereportbundle:report')->find($data['reportlist']);         }          $pages = $report->getpages();         $html = '';         //$html .= $report->getreportheader();         if($pages->count() > 0){             foreach($pages $page){                 $html .= $page->getpageheader() . $page->getpagebody() . $page->getpagefooter();                                 }         }                  //$html .= $report->getreportfooter();          return $this->render('savereportbundle:default:reportview.html.twig', array('reportdata' => $html, 'report'=>$report));     } else {         //$errors = $this->geterrormessages($form);                                                                     $errors = $form->geterrorsasstring();         $errors2 = $this->geterrormessages($form);         die('<pre>errors: '.var_dump($errors).'</pre>'.var_dump($errors2));     }      return $this->render('savecorebundle:default:debugdata.html.twig', array('data'=>array('message'=>'no data supplied'))); } 

form class

class reportsettingstype extends abstracttype {      public function buildform(formbuilderinterface $builder, array $options)     {         $defaultarray = array();         for($x=0; $x<999; $x++){             $defaultarray[$x]='';         }          $builder->add('client', 'entity', array(                 'class'=>'save\clientbundle\entity\client',                 'property'=>'name',                 'label'=>'client: ',                 'empty_value' => '-- select client --'             ))             ->add('newreport', 'choice', array(                 'choices' => array(                     1 => 'yes',                     0 => 'no'                 ),                 'label' => 'run new report: ',                 'mapped' => false,                 'expanded' => true,                 'multiple' => false             ))             ->add('reporttype', 'choice', array(                 'choices' => array(                     'aggregate' => 'aggregate',                     'filtered' => 'filtered'                 ),                 'label' => 'report type: ',                 'expanded' => true,                 'multiple' => false,                 'data' => 'aggregate'             ))             ->add('reportsections', 'choice', array(                 'choices' => array(                     'welcome letter' => 'welcome letter page',                     'report details' => 'report details page',                     'section definitions' => 'section definitions',                     'status summary graphs' => 'status summary graphs',                     'existing conditions graphs' => 'existing conditions graphs',                     'engagement action plans' => 'engagement action plans',                     'priority action plans' => 'priority action plans',                     'employee engagement benchmarks' => 'employee engagement benchmarks',                     'conclusion' => 'future discussions'                 ),                 'label' => 'report sections: ',                 'multiple' => true,                 'expanded' => true,                 'required' => false             ))             ->add('order', 'choice', array(                                      'label' => 'order: ',                 'mapped' => false,                 'choices' => $defaultarray,                 'empty_value' => '--select order--'             ))             ->add('reportfilter', 'choice', array(                                      'label' => 'report filter: ',                     'choices' => $defaultarray,                 'required' => false,                     'mapped'=> false,                 'empty_value' => '-- select filter --'             ))             ->add('reportlist', 'choice', array(                 'label' => 'saved reports: ',                 'choices' => $defaultarray,                 'required' => false,                 'mapped' => false,                 'empty_value' => '-- select report --'             ))             ->add('processreport', 'submit', array(                 'label' => 'process report',                                 ));                      }      public function setdefaultoptions(optionsresolverinterface $resolver)     {        $resolver->setdefaults(array(            'data_class' => 'save\reportbundle\entity\report'        ));     }      public function getparent()     {         return 'form';     }      public function getname()     {         return 'reportsettingstype';     }  } 

if there other information helpful please let me know , add question, right i'm @ loss explain why form not pass $form->isvalid() check.


Comments

Popular posts from this blog

php - SPIP: From Tag directly to an article -

jquery - isAjaxRequest always return false -

ruby on rails - In a controller spec, how to find a specific tag in the generated view? -