我在Sonata Admin中驗證時遇到了問題。Sonata管理員驗證
在前端爲客戶我有兩種形式:註冊和ProfileEdit。基於FOSUser。爲驗證規則是:
的src/UserBundle /資源/配置/ validation.yml
有兩組驗證爲每個表單。對於我來說,最好在後端使用這個規則,並添加一個像AdminProfileEdit這樣的組,因爲前端表單存在差異。但是,我不明白如何配置? 在文檔我讀到inlineValidation - 加入UserAdmin類中的方法
/**
* @param ErrorElement $errorElement
* @param mixed $object
*/
public function validate(ErrorElement $errorElement, $object)
{
$errorElement
->with('profile.firstname')
->assertNotBlank()
->end()
....
;
}
但對我來說是糟糕的解決方案有2個驗證CONFIGS。在https://sonata-project.org/bundles/admin/2-0/doc/reference/conditional_validation.html我無法找到一個很好的解釋如何驗證後端表單。
在奏\爲廢棄AdminBundle \管理員\ AdminInterface方法驗證標記:
- @deprecated此功能不能穩定,使用自定義的驗證器,
- 的功能將被用symfony 2.2 除去
這是什麼意思?以及如何驗證?有人可以一步一步寫出該怎麼辦?即使我需要什麼方法或配置?
請幫助別人,我需要快速完成任務,並且沒有計劃或解決方案。
我tryed這一點。在Admin類中: public function getFormBuilder() {this-> formOptions ['data_class'] = $ this-> getClass(); $ options = $ this-> formOptions; $ options ['validation_groups'] ='AdminProfile'; $ options ['cascade_validation'] = true; ($ this-> getUniqid(),$ options); $ getBuilder = $ this-> getFormContractor() - > getFormBuilder($ this-> getUniqid(),$ options); $ this-> defineFormBuilder($ formBuilder); return $ formBuilder; } 並添加了組以配置validation.yml。但表單保存沒有驗證錯誤,即使他們應該。 – dmma
我不明白爲什麼在後端validation.yml不起作用。在前端,這一切都很好 – dmma