2

我正在处理带有文本字段的Symfony2.0表单。我使用注释来验证该字段。该字段具有以下验证:

 * @Assert\MinLength(limit=2, message="At least two characters")
 * @Assert\NotBlank()
 * @Assert\Regex(
 *           pattern= "/\d/",
 *           match=   false,
 *           message= "This text cannot contain numbers" 
 * ) 

请注意,Regex断言来自这里

所以,我希望除了数字之外的所有字符都可以使用!但是,当我输入一些特殊字符(如“ ò ”)时,表单未经过验证,并返回错误消息“此文本不能包含数字”。

我在http://www.regextester.com/检查了 Regex 字符串,似乎工作正常!

知道为什么 Symfony2.0 中的验证效果不好吗?我错过了什么吗?

4

1 回答 1

2

我将Symfony2.0官方文档中提出的Regex修改如下:

 @Assert\Regex(pattern= "/[0-9]/")

现在表格效果很好。

最后的想法!我真的不明白为什么使用 Regex \d这些字符是数字。许多非英语单词使用该字符。

于 2012-09-06T06:49:27.670 回答