Jie*_*eng 1 validation symfony doctrine-orm
我想确保在验证我的实体时没有重复的用户名
/**
* @var string $name
*
* @ORM\Column(name="name", type="string", length=32)
* @Assert\NotBlank();
* @Assert\Callback(methods={"isUniqueUsername"})
*/
private $name;
Run Code Online (Sandbox Code Playgroud)
我想我需要使用Validator Callback.然后我将不得不为具有该用户名的用户查询数据库,所以我需要实体管理器?我该如何访问它?并"正确"访问它?我是否使用验证器类?创建一个只是为了验证1个字段的类似乎很麻烦?
在symfony2中,您可以使用唯一验证程序来确保用户名,电子邮件地址或任何其他字段是唯一的.使用注释时,它的工作方式如下:
use Symfony\Bridge\Doctrine\Validator\Constraints as Unique;
/**
* @ORM\Entity
* @ORM\Table
* @Unique\UniqueEntity(fields={"email"},message="Your email is already registered")
*/
class User{
// ...
}
Run Code Online (Sandbox Code Playgroud)
尝试通过表单添加用户时,您应该获得Unique注释中声明的消息.
归档时间: |
|
查看次数: |
689 次 |
最近记录: |