我在使用Symfony2验证器组件时遇到了问题,无法将值验证为允许NULL但不允许空字符串。我已经将该组件集成到Silex应用程序中,并使用Property Constraint目标来验证我的应用程序实体的一些属性(而不是Doctrine实体)。我在实体类中添加了这个静态方法来验证实体上的名称和service_id,问题是当
service_id
为NULL时,应该是有效的,但NotBlank
约束会触发并报告违规。请帮忙看看怎么解决。static public function loadValidatorMetadata(ClassMetadata $metadata)
{
// name should never be NULL or a blank string
$metadata->addPropertyConstraint('name', new Assert\NotNull());
$metadata->addPropertyConstraint('name', new Assert\NotBlank());
// service_id should either be a non-blank string or NULL
$metadata->addPropertyConstraint('service_id', new Assert\NotBlank());
}
总之,我想知道如何允许一个字符串或NULL作为service_id
,但不允许空字符串。
PS:我也尝试过MinLength(1)
约束,但不幸的是它允许空字符串。