happyr/entity-exists-validation-constraint
Composer 安装命令:
composer require happyr/entity-exists-validation-constraint
包简介
Verify that your entity exists
README 文档
README
A small validator that verifies that an Entity actually exists. This is especially useful if you use Symfony Messenger component. Now you can safely validate the message and put it on a queue for processing later.
namespace App\Message\Command; use Happyr\Validator\Constraint\EntityExist; use Symfony\Component\Validator\Constraints as Assert; final class EmailUser { /** * @Assert\NotBlank * @EntityExist(entity="App\Entity\User") * * @var int User's id property */ private $user; /** * @Assert\NotBlank * @EntityExist(entity="App\Entity\Other", property="name") * * @var string The name of "Other". We use its "name" property. */ private $other; // ...
In case you are using other constraints to validate the property before entity should be checked in the database (like @Assert\Uuid) you should use Group sequence in order to avoid 500 errors from Doctrine mapping.
namespace App\Message\Command; use Happyr\Validator\Constraint\EntityExist; use Symfony\Component\Validator\Constraints as Assert; /** * @Assert\GroupSequence({"EmailUser", "DatabaseCall"}) */ final class EmailUser { /** * @Assert\NotBlank * @Assert\Uuid * @EntityExist(entity="App\Entity\User", groups={"DatabaseCall"}, property="uuid") * * @var string Uuid */ private $user; // ...
Install
composer require happyr/entity-exists-validation-constraint
Then register the services with:
# config/packages/happyr_entity_exists_validator.yaml services: Happyr\Validator\Constraint\EntityExistValidator: arguments: ['@doctrine.orm.entity_manager'] tags: [ 'validator.constraint_validator' ]
Note
The Validator will not produce a violation when value is empty. This means that you should most likely use it in
combination with NotBlank.
happyr/entity-exists-validation-constraint 适用场景与选型建议
happyr/entity-exists-validation-constraint 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 206.2k 次下载、GitHub Stars 达 31, 最近一次更新时间为 2019 年 07 月 28 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 happyr/entity-exists-validation-constraint 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 happyr/entity-exists-validation-constraint 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 206.2k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 32
- 点击次数: 16
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2019-07-28