我有一个实体,我使用Regex
和NotBlank
来验证它。我需要这个字段只包含英文字母,没有数字。一切都很好,但是当我发布西里尔文时,我没有得到一个错误。为什么呢?我只需要英语
/**
* @var string
*
* @Assert'NotBlank()
* @Assert'Regex(
* pattern= "/^'w+/",
* match= false,
* message= "This text cannot contain numbers"
* )
*
Unicode可能有问题。我找不到RegEx
函数是否做Unicode或Ascii匹配(preg_match
的'u
选项),这可能会在您的情况下有所不同(因为您肯定提供utf-8字符串)。
'w+
这基本上意味着可打印的字符,包括字母和数字,在任何编码(如果匹配utf-8)。在这种情况下,您可以尝试:
[a-zA-Z]+