为了账号安全,请及时绑定邮箱和手机立即绑定

如何获取具有唯一约束的错误消息

如何获取具有唯一约束的错误消息

PHP
慕丝7291255 2022-01-08 20:03:52
我有一个表格,其中为产品添加了参考号。我已将此字段设为唯一,因为不会有重复的参考编号。我创建了一个自定义验证器来检查给定的引用是否已经存在,但是我收到以下错误:Type error: Too few arguments to function Backend\Modules\Glasses\Domain\Glasses\Validator\Constraints\DuplicateReferenceValidator::__construct(), 0 passed in /var/www/html/vendor/symfony/symfony/src/Symfony/Component/Validator/ContainerConstraintValidatorFactory.php on line 52 and exactly 1 expected我似乎无法让我GlassesRepository在DuplicateReferenceValidator数据传输对象:<?phpnamespace Backend\Modules\Glasses\Domain\Glasses;use Backend\Modules\Glasses\Domain\Brand\Brand;use Backend\Modules\MediaLibrary\Domain\MediaGroup\MediaGroup;use Common\Doctrine\Entity\Meta;use Symfony\Component\Validator\Constraints as Assert;use Backend\Modules\Glasses\Domain\Glasses\Validator\Constraints as CustomAssert;class GlassesDataTransferObject{/*** Other fields ***/    /**     * @var string     *     * @Assert\NotBlank(message="err.FieldIsRequired")     * @CustomAssert\DuplicateReference     */    public $reference;/*** Other fields ***/重复引用.php<?phpnamespace Backend\Modules\Glasses\Domain\Glasses\Validator\Constraints;use Symfony\Component\Validator\Constraint;/** * @Annotation */class DuplicateReference extends Constraint{    public $message = '"{{ reference }}" already exists.';}DuplicateReferenceValidator.php<?phpnamespace Backend\Modules\Glasses\Domain\Glasses\Validator\Constraints;use Backend\Modules\Glasses\Domain\Glasses\GlassesRepository;use Symfony\Component\Validator\Constraint;use Symfony\Component\Validator\ConstraintValidator;use Symfony\Component\Validator\Exception\UnexpectedTypeException;class DuplicateReferenceValidator extends ConstraintValidator{    private $repository;    /**     * DuplicateUserValidator constructor.     */    public function __construct(GlassesRepository $repository)    {        $this->repository = $repository;    }
查看完整描述

1 回答

?
呼如林

TA贡献1798条经验 获得超3个赞

我自己想通了。

我需要将实体管理器添加到我的services.yml文件中,以便能够在验证器中访问它。

Backend\Modules\Glasses\Domain\Glasses\Validator\Constraints\DuplicateReferenceValidator:
        attributes:
            - "@doctrine.orm.entity_manager"


查看完整回答
反对 回复 2022-01-08
  • 1 回答
  • 0 关注
  • 147 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号