2011-12-06 33 views
11

我正在尋找一種方法來根據特定實體的註釋中指定的約束來驗證一個字段(對象屬性)。僅在Symfony2中驗證單表單字段

目標是在表單字段的「onBlur」事件之後發送一個AJAX請求,要求服務器僅驗證該單個字段,並且 - 根據響應 - 在此旁邊添加一個小的「OK」圖像字段或錯誤消息。

我不想驗證整個實體。

我不知道這個問題最好的辦法是什麼?感謝您的任何提示。

回答

18

Validator類有validateProperty方法。您可以使用它像這樣:

$violations = $this->get('validator')->validateProperty($entity, 'propertyName'); 
if (count($violations)) { 
    // the property value is not valid 
} 

或者,如果該值未在實體集,您可以使用validatePropertyValue方法:

$violations = $this->get('validator')->validatePropertyValue($entity, 'propertyName', $propertyValue); 
if (count($violations)) { 
    // the property value is not valid 
} 
5

看看validation groups。我認爲這是你需要的。你可以添加一個組「ajax」,或者只添加一個約束。然後告訴驗證者使用該組。 symfony2文檔包含一個示例。

+0

你能請給的例子須藤代碼等 –