Laravelが「ユーザー名」入力を検出できない問題を解決する
P粉060112396
2023-08-15 14:50:48
<p>私はlaravelを初めて使用しており、コードは以前は機能していましたが、「名前」を「ユーザー名」に変更した後、送信をクリックすると、デフォルト値がないと表示されます。 </p>
<pre class="brush:php;toolbar:false;">class UserSignup extends Controller {
パブリック関数 register(Request $request) {
$validatedData = $request->validate([
'ユーザー名' => ['必須', '文字列','最大:255', Rule::unique('users')],
'email' => ['required', 'email', 'max:255', Rule::unique('users')],
'パスワード' => '必須|分:8'
]);
$validatedData['パスワード'] = bcrypt($validatedData['パスワード']);
$user = ユーザー::create($validatedData);
return response()->json(['message' => 'ユーザーは正常に作成されました!', 'user' => $user]);
}
}</pre>
<p>以下のように「名前」を「ユーザー名」に変更してみました</p>
<pre class="brush:php;toolbar:false;">$validatedData = $request->validate([
'ユーザー名' => ['必須', '文字列','最大:255', Rule::unique('users')],
'email' => ['required', 'email', 'max:255', Rule::unique('users')],
'パスワード' => '必須|分:8'
]);</pre>
<p>送信をクリックすると、デフォルト値がないことを示すエラーが表示されます。 </p>
<p>「ユーザー名」をデータベースに入力したいだけです。 </p>
app.phpにユーザー名を追加しただけで、うまくいきました
リーリーデータベース (および移行) で
name
値を空以外に設定できます。name
属性とusername
属性も必要な場合は、2 つのオプションがあります:name
属性のデフォルト値を設定し (または null 可能にし)、データベース内の移行を使用してusername
属性を追加します。登録フォームに
name
フィールドを作成し、検証をリクエストすると、データベース レコードに追加できるようになります。ヒント: モデル ファイル (
リーリーUser.php
) で、入力する各プロパティを$fillable
属性に追加する必要があります: