У меня возникли проблемы с проверкой значения, чтобы разрешить NULL, но не пустую строку с компонентом валидатора Symfony2.
Я интегрировал этот компонент в приложение Silex и использовал цель Property Constraint для проверки некоторых свойств моих Application Entity (, а не Doctrine Entity).
Я добавил этот статический метод в свой класс Entity для проверки имени и идентификатора службы_в моем Entity. Проблема в том, что когда 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)
, но, к сожалению, оно допускает пустые строки.