2013-11-26 47 views
1

我想只允许第一个名字字母数字字段使用:的Symfony验证的字母数字

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

但是它仍然允许像“& & &”字。我的正则表达式错了吗?

回答

3

你缺少^$+(就像你的HTML模式):/^[a-z\-0-9]+$/i

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

8

Symfony的3

如果你不想使用正则表达式,你可以使用@assert \键入验证字母

你可以看到它在symfony的文档here

@Assert\Type(type="alnum")