symfony 注册页面判断用户名唯一
Jun 06, 2016 pm 08:19 PM
求助:我想在注册的时候,加个判断,用户名唯一,这个怎么做?
这个问题已被关闭,原因:与已有问题重复
回复内容:
求助:我想在注册的时候,加个判断,用户名唯一,这个怎么做?
调用数据库判断呀
监听用户名表单输入的事件,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>
备注:
@ORM\Column(unique=true)会反映到具体的SQL语句上(UNIQUE KEY),是数据库层面的约束
@UniqueEntity则属于Symfony验证(Validator)的一部分,是Symfony业务逻辑层面的约束(验证)

人気の記事

人気の記事

ホットな記事タグ

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法
