Muc*_*Muc 4 symfony doctrine-orm
我正在开发一个使用几种形式的Symfony2应用程序.表单中的数据使用Doctrine2持久保存到MySQL数据库中.我使用Symfony注释对实体设置了一些约束.现在,当用户无法在表单中输入适当的数据时,他会得到一条错误消息,但是,当我尝试使用Command对象操作相同的实体时,我不会得到任何异常或错误.
从我阅读的文档中,Symfony和Doctrine的验证工作作为单独的机制,现在......有没有办法让它们作为一个整体工作?我试图避免的是为实体对象编写相同的验证,以便将它们用作前端和后端验证.谢谢.
MDr*_*tte 12
表单会在您调用时自动验证,$form->isValid()但如果要验证表单外部的对象,则必须手动调用它.
在命令类中,只需获取validator服务并在持久化之前验证对象.
$validator = $this->container->get('validator');
$errors = $validator->validate($myEntity);
if (count($errors) > 0) {
return new Response(print_r($errors, true));
} else {
return new Response('The entity is valid!');
}
Run Code Online (Sandbox Code Playgroud)
更多文档http://symfony.com/doc/master/book/validation.html#using-the-validator-service
| 归档时间: |
|
| 查看次数: |
4111 次 |
| 最近记录: |