LoginSignup
1
1

More than 1 year has passed since last update.

Laravelのバリデーションで自分以外の重複チェック laravel8

Posted at

動作環境

  • laravel8

やりたいこと

emailの重複チェックの対象をログインユーザー以外に行いたい

結論

class UserRequest extends FormRequest
{
     /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        return [
            'name' => ['required', 'string', 'max:255'],
            //'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
            'email' => ['required', 'string', 'email', 'max:25', Rule::unique('users')->ignore(Auth::id())],
        ];
    }
}

例えば

ファイル名

こんなようなフォームを作ってしまいまして、
パスワードだけを変更したいのにこのまま更新をすると
「emailかぶってるよ!!]
と怒られてしまいました。

「自分のemailなんだからそうだろうなっ!!」

と少し揉めましたが
このような形で自身の重複を外すことができました。

最後に

laravel勉強中でしてアウトプットとして投稿させていただきました。
ドキュメントを読んでるつもりでも作ってみてわかることは非常に多いですね。

Laravelの取説にもちゃんとかいてありました。

おわり

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1