Валидатор Symfony2, NotBlank, но разрешает null

У меня возникли проблемы с проверкой значения, чтобы разрешить 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), но, к сожалению, оно допускает пустые строки.

5
задан ChrisR 13 April 2012 в 08:20
поделиться