Следующая конфигурация в validation.yml должна проверять поле url с заданным регулярным выражением, как показано в документации Symfony (Обычное использование).

MyCompany\MyBundle\Entity\Example:
    properties:
        url:
            - Regex:
                pattern: "/^(https?:\/\/)?((w{3}\.)?)example.com\/.*/"
                message: "Must be a valid example.com URL"

Но вместо этого возникает ошибка.

Предупреждение: preg_match () [function.preg-match]: Неизвестный модификатор '/' ...

Удаление вхождений «/» заставило меня работать, но тогда это не то регулярное выражение, которое мне нужно.

MyCompany\MyBundle\Entity\Example:
        properties:
            url:
                - Regex:
                    pattern: "/^(https?:)?((w{3}\.)?)example.com.*/"
                    message: "Must be a valid example.com URL"

В чем может быть проблема?

0
Czar Pino 2 Апр 2013 в 10:24
Кстати, это наблюдалось в sf2.0
 – 
Czar Pino
2 Апр 2013 в 10:27

1 ответ

Лучший ответ

В моем случае проблема заключалась в цитатах, содержащих регулярное выражение. Я удалил их, и все заработало. Я не знаю, почему косые черты вызвали проблемы с двойными кавычками.

MyCompany\MyBundle\Entity\Example:
    properties:
        url:
            - Regex:
                pattern: /^(https?:\/\/)?((w{3}\.)?)example.com\/.*/
                message: "Must be a valid example.com URL"
3
Czar Pino 2 Апр 2013 в 10:24