表单验证之 alpha 正则写法讨论
laravel中自带的表单验证之alpha
验证字段必须完全由字母构成。
实践过程中发现中文也能通过,找到其原始方法如下
vendor/laravel/framework/src/Illuminate/Validation/Concerns/ValidatesAttributes.php
/**
* Validate that an attribute contains only alphabetic characters.
*
* @param string $attribute
* @param mixed $value
* @return bool
*/
public function validateAlpha($attribute, $value)
{
return is_string($value) && preg_match('/^[\pL\pM]+$/u', $value);
}
同样的,alpha_dash
和alpha_num
验证中文时也能通过!
去github.com/illuminate/validtion
发现没任何issue
,也不知道作者为什么这样写正则规则,你们知道吗?
这个链接有说是什么问题:segmentfault.com/q/101000000710599... 感觉是个bug