Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

codinglara's avatar

Stuck at error 'the password confirmation does not match'

I have a register form in my app. So when I try to register a user I get the error 'the password confirmation does not match' even though I'm 100% sure I am entering the exact same password in both fields (password and confirm_password). Not sure why I get this error. Do you see where the problem can be in my code?

User Model

<?php

namespace App\Models;

use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;

class User extends Authenticatable
{
    use HasFactory, Notifiable;

    /**
     * The attributes that are mass assignable.
     *
     * @var array
     */
    protected $fillable = [
        'name',
        'last_name',
        'email',
        'password'
    ];

    /**
     * The attributes that should be hidden for arrays.
     *
     * @var array
     */
    protected $hidden = [
        'password',
        'remember_token',
    ];

    /**
     * The attributes that should be cast to native types.
     *
     * @var array
     */
    protected $casts = [
        'email_verified_at' => 'datetime',
    ];


}

Route

Route::post('/register', [RegisterController::class, 'store']);

Register Controller

<?php

namespace App\Http\Controllers\Auth;

use App\Http\Controllers\Controller;
use App\Models\User;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Hash;

class RegisterController extends Controller
{
    public function index() {
        return view('auth.register');
    }

    public function store(Request $request)  {
 
        // validation
        $this->validate($request, [
            'name' => 'required|max:255',
            'last_name' => 'required|max:255',
            'email' => 'required|email|max:255',
            'password' => 'required|confirmed'
        ]);
  
        // store user
        User::create([
            'name' => $request->name,
            'last_name' => $request->last_name,
            'email' => $request->email,
            'password' => Hash::make($request->password)
        ]);

        // sign the user in
        //redirect
    }
}

Register View

<div class="w-full flex flex-col lg:flex-row justify-center lg:justify-between">
                            <div class="w-full lg:w-1/2 px-3 mb-5">
                                <label for="password" class="text-xs font-semibold text-p test-left">Šifra</label>
                                <input type="password" name="password" id="password" class="w-full px-3 py-2 text-sm leading-tight text-gray-700 border rounded shadow appearance-none focus:outline-none focus:shadow-outline @error('name') border-fiery-red @enderror" placeholder="********"
                                value=""/>

                                @error('password')
                                <div class="text-red-500 mt-1 text-xs">
                                    {{ $message }}
                                </div>
                                @enderror
                            </div>

                            <div class="w-full lg:w-1/2 px-3 mb-5">
                                <label for="confirm_password" class="text-xs font-semibold text-p">Potvrdi šifru</label>
                                <input type="password" name="confirm_password" id="confirm_password" class="w-full px-3 py-2 text-sm leading-tight text-gray-700 border rounded shadow appearance-none focus:outline-none focus:shadow-outline" placeholder="********"/>
                            </div>
                        </div>

Here I included only the fields I have issues with. Everything else seems fine.

0 likes
2 replies

Please or to participate in this conversation.