Heim  >  Fragen und Antworten  >  Hauptteil

Lösen Sie das Problem, dass Laravel die Eingabe „Benutzername“ nicht erkennen kann

<p>Ich bin neu bei Laravel und mein Code hat vorher funktioniert, aber ich habe „Name“ in „Benutzername“ geändert und wenn ich dann auf „Senden“ klicke, wird angezeigt, dass er keinen Standardwert hat. </p> <pre class="brush:php;toolbar:false;">class UserSignup erweitert Controller { öffentliches Funktionsregister(Request $request) { $validatedData = $request->validate([ 'username' => ['required', 'string','max:255', Rule::unique('users')], 'email' => ['required', 'email', 'max:255', Rule::unique('users')], 'Passwort' => 'erforderlich|min:8' ]); $validatedData['password'] = bcrypt($validatedData['password']); $user = User::create($validatedData); return Response()->json(['message' => 'Benutzer erfolgreich erstellt!', 'user' => $user]); } }</pre> <p>Ich habe versucht, „Name“ in „Benutzername“ zu ändern, wie unten gezeigt</p> <pre class="brush:php;toolbar:false;">$validatedData = $request->validate([ 'username' => ['required', 'string','max:255', Rule::unique('users')], 'email' => ['required', 'email', 'max:255', Rule::unique('users')], 'Passwort' => 'erforderlich|min:8' ]);</pre> <p>Nachdem Sie auf „Senden“ geklickt haben, wird eine Fehlermeldung angezeigt, die besagt, dass es keinen Standardwert gibt. </p> <p>Ich möchte nur „Benutzername“ in die Datenbank eingeben. </p>
P粉060112396P粉060112396431 Tage vor425

Antworte allen(2)Ich werde antworten

  • P粉799885311

    P粉7998853112023-08-16 09:04:22

    我只是在app.php中添加了用户名,然后它就起作用了

    protected $fillable = [
            'username',
            'name',
            'email',
            'password',
        ];

    Antwort
    0
  • P粉473363527

    P粉4733635272023-08-16 00:24:13

    您可以在数据库(和迁移)中将name值设置为非空。如果您还想拥有nameusername属性,有两个选项:

    1. name属性设置默认值(或将其设置为可为空),并在数据库中使用迁移添加username属性。

    2. 在注册表单和请求验证中创建一个name字段,现在您可以将其添加到数据库记录中。

    提示:在您的模型文件(User.php)中,您必须将要填充的每个属性添加到$fillable属性中:

    protected $fillable = ['name', 'username', ...];

    Antwort
    0
  • StornierenAntwort