我正在使用 Symfony2 和 FOSUserBundle。
如果我在注册表中输入用户名或电子邮件地址,该注册表已经在数据库中,注册表顶部会显示错误。
如何将错误消息放入用户名/电子邮件字段?
我正在使用 Symfony2 和 FOSUserBundle。
如果我在注册表中输入用户名或电子邮件地址,该注册表已经在数据库中,注册表顶部会显示错误。
如何将错误消息放入用户名/电子邮件字段?
如果将 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 设置为表单上的实际字段名称。