【发布时间】:2023-03-09 20:45:02
【问题描述】:
我有一个简单的实体类型“城市”
class City
{
use GeoTrait;
/**
* @var int
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="title", type="string", length=255)
*/
private $title;
...
}
如您所见,它使用了一个 Trait,如下所示
use AppBundle\Validator\Constraint as AppConstraint;
/**
* @AppConstraint\IsDuplicateLocation
* @AppConstraint\IsLocation
*/
trait GeoTrait
{
/**
* @var string
*
* @ORM\Column(name="geoLat", type="decimal", nullable = true, precision=9, scale=6)
*/
private $geoLat;
/**
* @var string
*
* @ORM\Column(name="geoLng", type="decimal", nullable = true, precision=9, scale=6)
*/
private $geoLng;
}
现在,如果我创建一个新实体并尝试使用验证器服务对其进行验证,它似乎无法验证我的自定义类约束。
如果我向特征添加字段约束,则验证工作正常,但不适用于类约束。为什么这不起作用?
【问题讨论】:
标签: symfony validation constraints traits