2012-07-13 53 views
0

在典型的Symfony2表單中,當某個字段無效時,表單將再次呈現給用戶,其中所有字段都已重新填充,並且在出現問題的特定字段中出現錯誤。在symfony2控制器中取消設置表單字段值

在我的表單中,我想強制用戶重新輸入一個字段的值(出於安全原因),但保留其餘字段填充。有什麼方法可以在SF2中取消設置/清除控制器中的字段值?

回答

1

只需在模型對象本身上將其設置爲null或任何空值即可。

if ($form->isValid()) { 
    // ... 
} else { 
    $object->setSomeField(null); 
} 
+0

這不會影響形式。 – MrGlass 2012-07-13 11:44:08

1

你改變對象的值後如下圖所示的答案,你需要重新創建形式和對象傳遞給當你做的形式...

$form = $this->createForm(new YourFormType(), $object); 

return $this->render('YourBundle:YourEntityName:yourTemplate.html.twig, (array(
    'entity'=>$entity, 
    'form'=>$form->createView() 
)); 
相關問題