仅字母的 laravel 验证规则

2022-08-30 23:55:51

我正在尝试添加一个验证规则以仅接受字母。我正在使用该规则,但它仍然不起作用。这是我下面的代码: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,
    ]);

每当我输入这样的名字时,注册仍然成功。Foo Foo

你知道我做错了什么吗?


答案 1

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

  • alpha对于完全按字母顺序排列的字符
  • alpha_dash对于字母数字字符,以及短划线和下划线,最后
  • alpha_num对于完全的字母数字字符。

答案 2

你的正则表达式失败了,我想,我在Regexr上尝试过,但无法让它运行,试试这个:

'name' => 'required|regex:/^[a-zA-Z]+$/u|max:255|unique:users,name,'.$user->id,

让我知道你是怎么过来的。

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


推荐