راکت

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

2 پاسخ

سلام
میخوام توی فرم لاگین بجای 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>
Javad Ezaz
Javad Ezaz
@sjavadez
ثبت پرسش جدید

پاسخ‌ها

2
TEFO
TEFO
@tefo.ha27

تخصص: لاراول

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

Javad Ezaz
Javad Ezaz
@sjavadez

تخصص: برنامه نویس php و لاراول

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

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

شاید پاسخ شما همین‌جا باشد

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

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