>백엔드 개발 >PHP 튜토리얼 >symfony 注册页面判断用户名唯一

symfony 注册页面判断用户名唯一

WBOY
WBOY원래의
2016-06-06 20:19:241258검색

求助:我想在注册的时候,加个判断,用户名唯一,这个怎么做?

这个问题已被关闭,原因:与已有问题重复

回复内容:

求助:我想在注册的时候,加个判断,用户名唯一,这个怎么做?

调用数据库判断呀

监听用户名表单输入的事件,keyUp或者是blur,事件触发时使用Ajax将用户名提交到服务器做判断,将判断结果返回,前端再做相应的处理。

不清楚你是否想用Ajax,如果单纯从Symfony这一端来进行验证或者约束,需要在定义Entity的时候在用户名处(假设用户名是username)作如下约束(@ORM\Column加unique=true约束,同时Entity头部加@UniqueEntity(fields="username")约束),提交后,Symfony会自动验证username是否唯一,如果验证失败则提示错误信息(message):

<code>use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;

/**
 *@ORM\Entity
 *@UniqueEntity(fields="username", message="用户名已存在")
 */
class User
{
    /**
     *@ORM\Column(type="string", length=255, unique=true)
     *@ORM\NotBlank()
     */
     protected $username;

    //...
}
</code>

备注:

  1. @ORM\Column(unique=true)会反映到具体的SQL语句上(UNIQUE KEY),是数据库层面的约束

  2. @UniqueEntity则属于Symfony验证(Validator)的一部分,是Symfony业务逻辑层面的约束(验证)

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.