我在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