Home > Mobile >  Laravel validate method does not prevent user from validating
Laravel validate method does not prevent user from validating

Time:11-07

I don't have any errors, nor on client or server. To give you more context I'm creating a login form, I'm trying to prevent the user from authenticate himself if the text he typed on the input fields are corrects. If it's not correct, the user should not be redirected to the route (which has the name "authenticate"). there are 3 routes: login and home which are pages, and authenticate that's redirecting to a controller which got all the functions related to the login.

AuthController

    <?php

namespace App\Http\Controllers;
use Illuminate\Http\Request;

class AuthController extends Controller
{
    public function login() {
        return view('auth.login');
    }

    public function authenticate(Request $request)
    {
        $request->validate([
            'email' => 'required|email',
            'password' => 'required'
        ]);
    }
}

Login view

        <form action="{{ route('authenticate') }}" method="post">
          @csrf

          <input type="email" name="email">
          <input type="password" name="password">
          <button >Log</button>
        </form>

All the routes

    Route::get('home', HomeController::class)
    ->name('home');

Route::get('login', [AuthController::class, 'login'])
    ->name('login');

Route::get('authenticate', [AuthController::class, 'authenticate'])
    ->name('authenticate');

So basically what I'm trying to do is to check if the text the user has typed into the email field is an email, and if all the fields have text in it, because everything is required. But it seems like it's not the case, even if the fields are empty the log in button redirects to the authenticate page. Did I do something wrong? If I didn't provide enough information I would be glad to provide more, thanks for reading :) have a nice day

CodePudding user response:

add required field to your input tag

  • Related