我正在使用Symfony2和FOSUserBundle。
如果我在注册表单中输入用户名或电子邮件地址(已在数据库中),则会显示注册表单顶部的错误。
如何将错误消息放入用户名/电子邮件字段?
答案 0 :(得分:0)
阅读文档 Rendering each Field by Hand
{{form_errors(form.username)}}
{{form_errors(form.)}}
或创建表单主题 Global Form Theming
答案 1 :(得分:0)
如果您将FOSUserBundle设置为捆绑包的父级:
// src/Acme/UserBundle/AcmeUserBundle.php
<?php
namespace Acme\UserBundle;
use Symfony\Component\HttpKernel\Bundle\Bundle;
class AcmeUserBundle extends Bundle
{
public function getParent()
{
return 'FOSUserBundle';
}
}
然后你可以将自己的validation.yml文件放在config文件夹中,你可以像这样设置唯一约束的errorPath属性:
#validation.yml:
Acme\DemoBundle\Entity\User: # your user entity
constraints:
- Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity: { fields: usernameCanonical, errorPath: username, groups: [CustomRegistration, Default] }
确保将errorPath设置为表单上的实际字段名称。