0

以下配置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]: Unknown modifier '/' ...

删除“/”的出现使它工作,但它不是我需要的正则表达式。

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

问题可能是什么?

4

1 回答 1

3

就我而言,问题在于包含正则表达式的引号。我删除了它们,一切正常。我不知道为什么斜线会导致双引号出现问题。

MyCompany\MyBundle\Entity\Example:
    properties:
        url:
            - Regex:
                pattern: /^(https?:\/\/)?((w{3}\.)?)example.com\/.*/
                message: "Must be a valid example.com URL"
于 2013-04-02T06:24:03.570 回答