Javad Ezaz
5 سال پیش توسط Javad Ezaz مطرح شد
2 پاسخ

لاگین بوسیله username در لاراول

سلام
میخوام توی فرم لاگین بجای email از username کاربر استفاده کنم.
طبق داکیومنت سایت خود لاراول اومدم توی مدل User کد زیر رو اضافه کردم :

public function username()
{
    return 'username';
}

لینک منبع: اینجا

توی فرم لاگین اطلاعات رو درست وارد میکنم اما بهم ارور validation لاراول رو میده ؛

These credentials do not match our records.

با این دستور کاربرم رو تو دیتابیس اد میکنم:

User::create([
            'first_name' => 'خریدار',
            'last_name' => 'تست',
            'username' => 'customer',
            'phone' => '09123456789',
            'email' => 'customer@example.com',
            'password' => bcrypt('customer'),
        ]);

اینم کد فرم لاگینمه :

<form class="theme-form" method="POST" action="{{ route('login') }}">
                                @csrf

                                <div class="form-group">
                                    <label class="col-form-label pt-0" for="email">نام کاربری</label>
                                    <input class="form-control @error('username') is-invalid @enderror"
                                           type="text" required="" name="username" id="username"
                                           value="{{ old('username') }}" required autocomplete="username" autofocus>

                                    @error('username')
                                    <span class="invalid-feedback" role="alert">
                                                    <strong>{{ $message }}</strong>
                                                </span>
                                    @enderror
                                </div>

                                <div class="form-group">
                                    <label class="col-form-label" for="password">رمز عبور</label>
                                    <input id="password" type="password"
                                           class="form-control @error('password') is-invalid @enderror"
                                           name="password" required autocomplete="current-password">
                                    @error('email')
                                    <span class="invalid-feedback" role="alert">
                                                <strong>{{ $message }}</strong>
                                            </span>
                                    @enderror
                                </div>

                                <div class="checkbox p-0">
                                    <input id="checkbox1" type="checkbox">
                                    <label for="checkbox1">مرا به خاطر بسپار</label>
                                </div>
                                <div class="form-group form-row mt-3 mb-0">
                                    <button class="btn btn-primary btn-block" type="submit">ورود</button>
                                </div>

                                <div class="form-row">
                                    <div class="col-sm-6 text-right">
                                        <div class="mt-2"><a href="" class="text-black-50">رمز عبور را فراموش کرده ام</a></div>
                                    </div>
                                    <div class="col-sm-6 text-left" >
                                        <div class="mt-2"><a href="" class="text-black-50">فرم ثبت نام</a></div>
                                    </div>
                                </div>

                            </form>

ثبت پرسش جدید
TEFO
تخصص : لاراول
@tefo.ha27 5 سال پیش مطرح شد
0

نباید توی مدل متد username رو بنویسین
اون رو ببرین کنترلر LoginController


Javad Ezaz
تخصص : برنامه نویس php و لاراول
@sjavadez 5 سال پیش مطرح شد
0

@tefo.ha27
اشتباه گفتم توی LoginController نوشتم

مشکل حل شد.
اشتباه من این بود که seeder ی که واسه ساختن یوزر ساختم رو توی DatabaseSeeder صداش نکردم


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام