#新規登録機能について
※とある未熟者エンジニアの備忘録です。(laravel6)
Laravelでは簡単に新規登録機能を実装する事ができます。
ルートは仮で設定したルートを用意し説明していきます。
php artisan route:list
上記コマンドにてログイン機能のルートが確認できます。
App\Http\Controllers\Auth\RegisterController.phpのshowRegistrationFormアクションメソッドを使うという設定を行い、そしてregisterという名前付きでルートを用意したとします。
次にviewを書く作業の説明です。
resources\viewsの中にauthフォルダを作成します。
ここに簡潔なregister.blade.phpを作る事にします。
<h1>新規ユーザー登録画面</h1>
<form action="{{ route('register') }}" method="post">
@csrf
<label>name</label>
<input type="text" name="name" placeholder="店名を入力してください">
<label>email</label>
<input type="email" name="email" placeholder="emailを入力してください">
<label>password</label>
<input type="password" name="password" placeholder="パスワードを入力してください">
<label>confirm_password</label>
<input type="password" name="password_confirmation" placeholder="パスワードを入力してください">
<input type="submit" value="登録">
</form>
これで新規登録機能は完了です。
これだけ?という疑問が生まれると思いますので、
どこで新規登録機能の処理がされているのか見ていきましょう。
実は冒頭で説明したRegisterController.phpの中にshowRegistrationFormアクションメソッドは書かれていません。
showRegistrationFormアクションメソッドの代わりに
use RegistersUsers;
が途中で書かれています。
一番上にはuse Illuminate\Foundation\Auth\RegistersUsers;と記載がありますので、
このRegistersUsers;の場所は
vendor\laravel\framework\src\illuminate\Foundation\Auth\RegistersUsers;
ここに書かれています。
このRegistersUsers;の中を見てみると
showLoginFormアクションメソッドが書かれています。
public function showRegistrationForm()
{
return view('auth.register');
}
viewを作成するディレクトリも指定がされている為、
resources/viewsの中にauthフォルダを作成します。
authフォルダの中に次は冒頭で出てきましたregister.blade.phpを作成します。
バリデーションも機能している為、パスワードを入力する際は最低でも8文字を満たすようにしましょう。エラーメッセージは設定されていないので、8文字未満でパスワードを設定してしまうとDBに反映されませんのでご注意下さい。