2011-09-18 100 views
0

在我的實體,我有一個領域,如:Symfony2的表單驗證

/** 
* @var decimal $Size 
* 
* @ORM\Column(name="Size", type="decimal", scale="2") 
* @Assert\NotBlank() 
* @Assert\Type(type="numeric") 
*/ 
private $Size; 

但是當我輸入一個字符串,如在創作形式的「富」,功能bindRequest拋出:

Expected argument of type "numeric", "boolean" given 
500 Internal Server Error - UnexpectedTypeException 

控制器代碼是:

$request = $this->get('request'); 
if ($request->getMethod() == 'POST') 
{   
    $form->bindRequest($request); 
    if ($form->isValid()) 
    { 
     $em = $this->getDoctrine()->getEntityManager(); 
     $em->persist($support); 
     $em->flush(); 

     return $this->redirect($this->generateUrl('mediatheque_support_' . $shortcut . '_list')); 
     } 
} 

任何想法?

謝謝

+0

你確定其他沒有錯誤嗎?我嘗試了相同的代碼,它的工作原理沒問題。你不是在其他地方操作POST數據嗎? –

回答

0

你確定這不是預期的行爲嗎?你是斷言一個類型「數字」,並提供一個字符串「富」...錯誤信息是有點誤導,但說「布爾」提供