我是 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'
]);
点击提交后出现错误,提示没有默认值。
我只想将“用户名”放入数据库中。
您可以在数据库(和迁移)中将
name
值设置为不可为空。您有 2 个选择:
使用迁移为数据库中的
name
属性设置默认值。
在注册表单和请求验证中创建一个
name
字段,现在您可以将其添加到数据库记录中。