我在使用 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());
}
底线,我正在寻找如何允许 String 或 NULL 作为service_id
但不允许空字符串。
PS:我也尝试过MinLength(1)
约束,但不幸的是它允许空字符串。