اذهب إلى المحتوى

السؤال

نشر

أحاول عرض أخطاء النموذج الخاص بي التي أقوم بإنشائها مع التحقق من الصحة ولكن لا يظهر أي شيء على الشاشة عندما يكون لدي خطأ, لقد جربت

@dump(Session::has('status')) @dump($errors-\>any())

 دالة تسجيل الدخول

public function login(Request $request)
    {
        $credentials = $request->validate([
            'email' => 'email|max:90|required',
            'password' => 'required|min:6',
        ]);

        if (Auth::attempt($credentials, true)) {
            $accessToken = auth()->user()->createToken('authToken')->plainTextToken;
            return redirect('/home')->withCookie('auth_token', $accessToken);
        } else {
            $notification = 'L\'email ou le mot de passe est incorrecte';
            return back()->with('status', $notification);
        }
    }

form

<form action="{{ url('/authentification') }}" class="request-form ftco-animate bg-primary"method="POST"> @csrf
       <h2>Connexion</h2>

        @if ($errors->any())
            <div class="alert alert-danger">
                    <ul>
                       @foreach ($errors->all() as $error)
                           <li>{{ $error }}</li>
                       @endforeach
                     </ul>
           </div>
           @endif
        @if (Session::has('status'))
           <div class="alert alert-danger">
               {{ Session::get('status') }}
           </div>
        @endif
        <div class="form-group">
         <label for="" class="label">Email</label>
         <input type="text" class="form-control" placeholder="Email" name="email">
        </div>
        <div class="form-group mr-2">
        <label for="" class="label">Mot de passe</label>
           <input type="password" class="form-control" placeholder="**********" name="password">
     </div>
<div class="form-group">
      <input type="submit" value="Connexion" class="btn btn-secondary py-3 px-4">
       <a href="{{ url('/register') }}" class="text-center" style="color: white;">Pas encore de compte ?</a>
</div>
</form>

 

Recommended Posts

  • 0
نشر

السلام عليكم
مرحبا أخي محمد, ربما المشكلة هي أن رسائل الأخطاء لم تظهر في نموذج تسجيل الدخول. وذلك لأن الأخطاء لم يتم تمريرها للعرض في الصفحة بطريقة صحيحة.

لعرض رسائل الأخطاء في الصفحة بطريقة صحيحة، يجب تمرير المتغير $errors من الكونترولر إلى الصفحة. ويمكن القيام بذلك عن طريق  التحقق من نجاح التحقق من الصحة لتنفيذ الإجراءات اللازمة. وفي حالة فشل التحقق، يجب تمرير رسالة الخطأ للعرض في الصفحة. ويمكن القيام بذلك عن طريق إضافة الكود التالي  :
 

public function login(Request $request)
{
    $validator = Validator::make($request->all(), [
        'email' => 'email|max:90|required',
        'password' => 'required|min:6',
    ]);

    if ($validator->fails()) {
        return redirect('login')->withErrors($validator)->withInput();
    }

    if (Auth::attempt($request->only('email', 'password'), true)) {
        $accessToken = auth()->user()->createToken('authToken')->plainTextToken;
        return redirect('/home')->withCookie('auth_token', $accessToken);
    } else {
        $notification = 'L\'email ou le mot de passe est incorrecte';
        return back()->with('status', $notification);
    }
}

 وأخيرا  لعرض أخطاء التحقق أضف هذا 
 

    @if ($errors->any())
        <div class="alert alert-danger">
            <ul>
                @foreach ($errors->all() as $error)
                    <li>{{ $error }}</li>
                @endforeach
            </ul>
        </div>
    @endif

 ولعرض أخطاء بيانات المستخدم بعد التحقق منها :
 

    @if (Session::has('status'))
        <div class="alert alert-danger">
            {{ Session::get('status') }}
        </div>
    @endif

أتمنى أكون أفدتك 

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...