laravel验证规则仅适用于字母

hel*_*rld 5 php regex laravel

嘿家伙我试图添加验证规则只接受字母.我使用regex规则,但它仍然无法正常工作.这是我的代码如下

    /**
     * Validate request/input 
     **/
    $this->validate($request, [
        'name' => 'required|regex:/^[\pL\s\-]+$/u|max:255|unique:users,name,'.$user->id,
        'email' => 'required|email|max:255|unique:users,email,'.$user->id,
    ]);
Run Code Online (Sandbox Code Playgroud)

每当我输入一个名字,就像Foo Foo它在注册时仍然成功一样.

知道我做错了什么吗?

Has*_*imi 28

根据laravel文档,您可以使用:

  • alpha 对于完全字母字符
  • alpha_dash 对于字母数字字符,以及破折号和下划线,最后
  • alpha_num 对于完全字母数字字符。


Exo*_*osh 14

我认为你的正则表达式失败了,我在Regexr上尝试了它并且无法使它运行,试试这个:

'name' => 'required|regex:/^[a-zA-Z]+$/u|max:255|unique:users,name,'.$user->id,
Run Code Online (Sandbox Code Playgroud)

让我知道你是怎么办的.

这里只是正则表达式:^ [a-zA-Z] + $