正在EasyAdmin中验证实体



如何验证我的实体?我想检查url属性是否唯一。所以我这样做了:我的Post.php实体:

use SymfonyComponentValidatorConstraints as Assert;
....
#[ORMColumn(length: 255)]
#[AssertUnique]
private ?string $url = null;
....

这显然是不够的,因为我的实体在创建/更新时没有经过验证。所以我试着添加一个群组,比如:

....
#[AssertGroupSequence(['post_validation'])]
class Post
....

并调用PostGroupController.php:中的组

public function configureCrud(Crud $crud): Crud
{
return $crud
->setEntityLabelInSingular($this->translator->trans('post.post'))
->setEntityLabelInPlural($this->translator->trans('post.posts'))
->setSearchFields(['title'])
->setFormOptions(['validation_groups' => 'post_validation']);
}

但这也不起作用。我所说的不工作是指记录是用非唯一的url保存/更新的。那么,这个EasyAdmin验证有什么问题,或者我做错了什么?附言:我安装了symfony验证器。

我没有使用断言,请尝试这个:

#[ORMColumn(type: 'string', unique: true)]
private $url;

最新更新