我在Sonata Admin中验证时遇到了问题。
在客户的前端,我有两种形式:Registration和ProfileEdit。基于FOSUser。验证规则如下:
的src / UserBundle /资源/配置/ validation.yml
每个表单有两组验证。对于我来说,最好在后端使用此规则并再添加一个类似AdminProfileEdit的组,因为存在带前端形式的diffences。但是,我无法理解如何配置? 在我读到的有关inlineValidation的文档中 - 在UserAdmin类中添加了一个方法
/**
* @param ErrorElement $errorElement
* @param mixed $object
*/
public function validate(ErrorElement $errorElement, $object)
{
$errorElement
->with('profile.firstname')
->assertNotBlank()
->end()
....
;
}
但对我来说,拥有2个验证配置是不好的解决方案。在https://sonata-project.org/bundles/admin/2-0/doc/reference/conditional_validation.html中,我无法找到如何验证后端表单的良好解释。
在Sonata \ AdminBundle \ Admin \ AdminInterface方法中,validate被标记为已弃用:
请帮助某人,我需要快速完成任务,并且没有计划或解决方案。
答案 0 :(得分:1)
您可以为管理员定义验证组,并将其指定为form option in the admin class:
protected $formOptions = array(
'validation_groups' => array('SomeGroup'),
);