laravel5.1 验证规则 alpha 对中文无效?

第九魔王
  • 67

laravel5.1 alpha文档中写

验证字段值是否仅包含字母字符。

可是我输入中文,并没有报错,难道laravel默认中文也是字母

回复
阅读 4k
1 个回答
✓ 已被采纳

这其实不是laravel的问题;

根据源码

protected function validateAlpha($attribute, $value) {
    return is_string($value) && preg_match('/^[\pL\pM]+$/u', $value); 
}

可以看到,使用的是Unicode进行匹配;

在来看下php手册中的说明

php

以至于将中文Unicode后是怎么匹配上L的,如果有人知道,先感谢,请告知!!

题主可以将正则修改一下来达到目的

return is_string($value) && preg_match('/^[a-zA-Z]+$/u', $value); 
宣传栏