2011年11月5日土曜日

[Symfony2]ユニーク バリテーション

Userを追加する時に、usernameが既に使用されていないかのチェックをするバリテーションをしたかった。
日本Symfonyユーザー会の方では見つからなかったので、本家のValidation Constraints ReferenceUniqueEntityが怪しいと調べてみる。

結局このページ通りにやるとユニークか調べてくれます。ついでにメッセージを変更してみました。
# src/Acme/SecurityBundle/Entity/User.php
...
use Symfony\Bridge\Doctrine\Validator\Constraints as DoctrineAssert; ←追加
/**
* @orm\Entity(repositoryClass="Manyo\SecurityBundle\Repository\UserRepository")
* @orm\Table(name="user")                 
* @DoctrineAssert\UniqueEntity(                   ←追加
* fields="username",
* message="このユーザー名は既に使用されています"
* )            
*/
class User implements UserInterface{
...

0 件のコメント:

コメントを投稿