php - Symfony 4.3 验证不起作用 - 甚至自动
问题描述
每个人。这里发布了一个类似的问题,但答案并没有解决我的错误。
我正在尝试对实体使用 Symfony 4.3 自动验证,但它不起作用。
我已经取消了这两行的注释,并在配置文件validator.yaml
中启用了它,但它仍然不起作用。validation: {enable_annotations: true}
framework.yaml
即使我从实体中添加或删除 @Assert 注释,验证也总是返回一个零长度数组。
这是我的实体类:
namespace App\Entity;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;
/**
* Company
*
* @ORM\Table(name="company")
* @ORM\Entity(repositoryClass="App\Repository\CompanyRepository")
*/
class Company
{
/**
* @var int
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="type", type="string", length=255, nullable=false)
* @Assert\NotNull
*/
public $type;
}
如您所见,type 属性不能为 null,但验证未按预期工作。就是这个:
$company = new Company();
$validator = Validation::createValidator();
$errors = $validator->validate($company);
此时,$errors 只是一个空数组。
是否需要任何额外的配置?有人有理论吗?
解决方案
推荐阅读
- java - 为什么换行符(\n)的行为与在 Raspbian CLI 上按 Enter 不同
- java - 选择“作为 java 应用程序运行”导致“找不到类”后,Eclipse 在类路径中显示错误的工作区目录
- jquery - 使用循环创建多个表的 Tabledit
- python - 在一个文件中导入 Openpyxl 有效,但在另一个文件中出现 ModuleNotFoundError
- sockets - SFML 套接字,返回“断开连接”的 UDP 套接字是什么意思?
- c - C 中的 : 标记是什么意思?
- .net - 如何在 VB 中查找带有特殊字符的文件(如 MySQL 一样)?
- sql - 解析 Json 响应并插入到 oracle
- javascript - 浏览器中的 Ascii 艺术动画
- maven - 如何在 filevault-package-maven-plugin 中使用钩子