在创建新用户时删除laravel 6中对名称的验证

在创建新用户时删除laravel 6中对名称的验证,laravel,laravel-5,laravel-authorization,Laravel,Laravel 5,Laravel Authorization,我想在创建新用户时删除laravel 6中名称的验证。用户创建成功,但当我输入带有空格或大写字母的名称时,登录页面将打开。但是,如果我删除名称中的所有空格,那么下面的代码一切正常 protected function validator(array $data) { return Validator::make($data, [ 'name' => ['required', 'string', 'max:255'], 'email' =

我想在创建新用户时删除laravel 6中名称的验证。用户创建成功,但当我输入带有空格或大写字母的名称时,登录页面将打开。但是,如果我删除名称中的所有空格,那么下面的代码一切正常

protected function validator(array $data)
{
    return Validator::make($data, [
        'name'     => ['required', 'string', 'max:255'],
        'email'    => ['required', 'string', 'email', 'max:255', 'unique:users'],
        'password' => ['required', 'string', 'min:8', 'confirmed'],
    ]);
}

protected function create(array $data)
{
    $username = slugify($data['name']) . "-" . mt_rand(10000, 99999);

    return User::create([
        'name'     => $data['name'],
        'username' => $username,
        'email'    => $data['email'],
        'password' => Hash::make($data['password']),
    ]);
}
php代码

试试看

//...
'name' => ['required', 'string', 'regex:/^[a-zA-Z0-9\s]+$/', 'max:255'],
//...

我是通过在验证中添加regex来实现的

'name' => ['required', 'string','regex:/^[\pL\s\-]+$/u', 'max:255'],

不,我没有收到任何错误,但我已移动到登录页并将值保存到数据库是的,如果验证失败,您必须获得错误验证消息,但如果验证失败,为什么将值存储到数据库…?我在创建方法内看不到任何验证调用?!你可以添加你的控制器和刀片文件的完整代码吗?当你说“登录页面打开”时,这是不是发生了,而不是将用户保存到数据库中,或者如果你在名称中包含空格,你是否在登录用户时遇到了麻烦?只有当我在名称中添加空格时,我才意识到你的问题是“某些东西”当您在名称中添加空格时发生,但我的评论是询问具体发生了什么。请您更详细地解释一下,您认为应该发生哪些事情,哪些没有发生,哪些没有发生,哪些应该发生。我想成功注册,即使我是否放置了空间…因此,当您在名称中添加空间时,用户没有添加到数据库中?