Laravel:如何修复未检测到“用户名”输入的问题

问题描述 投票:0回答:1

我是 Laravel 新手,我的代码之前可以运行,但我将“名称”更改为“用户名”,然后如果我单击“提交”,它会说它没有默认值。

class UserSignup extends Controller { 
    public function register(Request $request) {

        $validatedData = $request->validate([
            'username' => ['required', 'string','max:255', Rule::unique('users')],
            'email' => ['required', 'email', 'max:255', Rule::unique('users')],
            'password' => 'required|min:8' 
        ]);

        $validatedData['password'] = bcrypt($validatedData['password']); 

        $user = User::create($validatedData);

return response()->json(['message' => 'User created successfully!', 'user' => $user]);
    } 
}

我尝试将“名称”更改为“用户名”,如下所示

$validatedData = $request->validate([
            'username' => ['required', 'string','max:255', Rule::unique('users')],
            'email' => ['required', 'email', 'max:255', Rule::unique('users')],
            'password' => 'required|min:8' 
        ]); 

点击提交后出现错误,提示没有默认值。

我只想将“用户名”放入数据库中。

mysql laravel localhost
1个回答
0
投票

您可以在数据库(和迁移)中将

name
值设置为不可为空。您有 2 个选择:

  1. 使用迁移为数据库中的

    name
    属性设置默认值。

  2. 在注册表单和请求验证中创建一个

    name
    字段,现在您可以将其添加到数据库记录中。

© www.soinside.com 2019 - 2024. All rights reserved.