在Symfony2中,要验证实体集合中的唯一实体,可以使用UniqueEntity
约束。以下是如何使用UniqueEntity
约束的步骤:
@UniqueEntity
注解。例如,如果要确保用户名的唯一性,可以在User
实体类中添加以下注解:use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
/**
* @ORM\Entity
* @ORM\Table(name="users")
* @UniqueEntity("username")
*/
class User
{
// ...
/**
* @ORM\Column(type="string", unique=true)
*/
private $username;
// ...
}
UniqueEntity
约束。例如,在User
实体类的验证器类中,可以添加以下代码:use Symfony\Component\Validator\Constraints as Assert;
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
/**
* @UniqueEntity(fields="username", message="用户名已存在")
*/
class UserValidator
{
// ...
}
UserController
中,可以添加以下代码:use Symfony\Component\Validator\Validator\ValidatorInterface;
class UserController
{
// ...
public function createAction(Request $request, ValidatorInterface $validator)
{
// ...
$errors = $validator->validate($user);
if (count($errors) > 0) {
// 处理验证错误
}
// ...
}
// ...
}
通过以上步骤,可以在Symfony2中验证实体集合中的唯一实体。
领取专属 10元无门槛券
手把手带您无忧上云