2012-05-03 54 views
2

我有一個窗體的錯誤冒泡問題。在我的形式 一個字段定義是這樣的:Symfony窗​​體,錯誤冒泡

$formBuilder->add('title','text', 
    'required' => true, 
    'error_bubbling' => false, 
    ) 
) 

我想這樣添加一個驗證這一領域:

/** 
    * @Assert\True(message = "Bad title.") 
    */ 
public function getTitleCorrect() 
{ 
    /* ... */  
    return false; 
} 

它工作正常,但錯誤信息顯示了頂部的形式,而不是在字段行中。

在此錯誤消息是由{{form_errors(form)}}呈現爲一個全球性的錯誤嫩枝模板。當我使用{{form_errors(form.title)}}時,它不打印我的錯誤。

我能做些什麼來改變錯誤的分配?

回答

5

消息被附加到一個字段僅當驗證器被附接到相應的屬性。 您的驗證器附加到類的一個方法,所以錯誤確實是全局的。

你應該到這樣的事情:

use ...\TitleValidator as AssertTitleValid; 

class MyEntity 
{ 
    /** 
    * @AssertTitleValid 
    */ 
    private $title; 
} 

並創建自己的TitleValidator類。