2017-03-01 15 views
0

我想在createEditForm()方法中獲取表單錯誤。 我一直試試這個$ editForm-> getErrors();但每次有錯誤都會返回0錯誤。 這是我的代碼:如何以簡單的管理形式獲取表單的錯誤

public function createEventEditForm($entity, array $entityProperties) 
    { 
     $editForm = parent::createEditForm($entity, $entityProperties); 
     if($entity instanceof Event){ 
      //dump($editForm->getErrors()); die; 
      //dump($editForm->getErrors()->count()); die; 
      $event_id = $this->request->query->get('id'); 
      if(!$editForm->getErrors()->count()){ 
       $event = new Event(); 
       $event->setStatus(Event::STATUS_INACTIVE); 
       $this->getDoctrine()->getManager()->flush(); 
      } 
     } 
     return $editForm; 
    } 

誰能幫助我? 在此先感謝

回答

1

您必須創建編輯操作而不是像這樣的窗體。

public function editEventAction() 
{ 
    $this->dispatch(EasyAdminEvents::PRE_EDIT); 

    $id = $this->request->query->get('id'); 
    $easyadmin = $this->request->attributes->get('easyadmin'); 
    $entity = $easyadmin['item']; 
    $fields = $this->entity['edit']['fields']; 

    $editForm = parent::createEditForm($entity, array($entity, $fields)); 
    $deleteForm = $this->createDeleteForm($this->entity['name'], $id); 
    $editForm->handleRequest($this->request); 

    if ($editForm->isSubmitted() && $editForm->isValid()) { 
     $this->dispatch(EasyAdminEvents::PRE_UPDATE, array('entity' => $entity)); 
     $this->em->flush(); 

     $refererUrl = $this->request->query->get('referer', ''); 

     return !empty($refererUrl) 
      ? $this->redirect(urldecode($refererUrl)) 
      : $this->redirect($this->generateUrl('easyadmin', array('action' => 'list', 'entity' => $this->entity['name']))); 
    } else { 
     if($editForm->getErrors()->count() > 0) { 
      // Do the stuff you want here like update status etc.. 
     } 
    } 

    $this->dispatch(EasyAdminEvents::POST_EDIT); 

    return $this->render($this->entity['templates']['edit'], array(
     'form' => $editForm->createView(), 
     'entity_fields' => $fields, 
     'entity' => $entity, 
     'delete_form' => $deleteForm->createView(), 
    )); 
} 
+0

謝謝:) @MayaShah – Shefali