Php 实体验证原则是否足够?

Php 实体验证原则是否足够?,php,forms,symfony,post,doctrine,Php,Forms,Symfony,Post,Doctrine,我有一个实体类,它已经有了约束: /** * @ORM\Column(type="string", length=255) */ private $X; /** * @ORM\Column(type="integer") */ private $Y; 在我的控制器中,我从表单中获取post数据,并在实体类上使用setMethods: $property = new PropertyEntity(); $property->setX($reques

我有一个实体类,它已经有了约束:

/**
* @ORM\Column(type="string", length=255)
*/
private $X;

/**
* @ORM\Column(type="integer")
*/
private $Y;
在我的控制器中,我从表单中获取post数据,并在实体类上使用setMethods:

$property = new PropertyEntity();
$property->setX($request->request->get('X'));
$property->setY($request->request->get('Y'));
下一步-保存到数据库

我是否需要对post数据进行额外验证?我认为我需要使用验证库,但我不确定它是否只会增加不必要的开销,因为“@ORM”已经是表单类型,并且正在进行一些验证。 有没有关于如何以及在何处编写验证的一般想法?(伪代码就足够了)

好问题! ORM映射将PHP类映射到条令元数据(模型)。 断言是一种验证从表单(视图/控制器)接收的对象的机制

这意味着您可以对非实体的对象使用assert,或者不能在formType中使用映射字段

可以在字段的注释中进行验证。例如:

/**
* @Assert\NotBlank
* @ORM\Column(type="string", length=255)
*/
private $X;
    
/**
* @Assert\NotBlank
* @ORM\Column(type="integer")
*/
private $Y;
不要忘记添加: 使用Symfony\Component\Validator\Constraints作为断言

此链接中有更多验证约束:

此处没有验证。您希望验证什么?