用于字母数字的Symfony验证器

kra*_*tos 4 regex symfony-forms symfony

我试图只允许使用字母数字字段作为名字:

patientFirstName:
                 - NotBlank: ~
                 - Regex: 
                       pattern: "/[^a-z_\-0-9]/i"
                       htmlPattern: "^[a-zA-Z\-0-9]+$"
                       message: Name must be alphanumeric
Run Code Online (Sandbox Code Playgroud)

但是它仍然允许使用"&&&"之类的字符.我的正则表达式错了吗?

小智 15

Symfony 3

如果您不想使用正则表达式,可以使用@Assert\Type作为验证程序字母数字

你可以在symfony的文档看到这里

@Assert\Type(type="alnum")
Run Code Online (Sandbox Code Playgroud)


Wou*_*r J 5

您不见了^$并且+(就像您的html模式一样):/^[a-z\-0-9]+$/i

如果不添加它们,则正则表达式将匹配包含至少一个字母数字字符的任何字符串。