为什么validation.yml中的正则表达式在Symfony2中不起作用?

时间:2013-04-02 06:24:04

标签: validation symfony

validation.yml中的以下配置应该使用给定的正则表达式验证url字段,如Symfony文档(Basic Usage)中所示。

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"

问题是什么?

1 个答案:

答案 0 :(得分:3)

在我的情况下,问题是封闭正则表达式的引用。我删除了它们,一切正常。我不知道为什么斜线会引起双引号的问题。

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