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

f.alabakhsh@gmail.com's avatar

How to create a laravel hashed password

How do I fix this code becuase it dosnt work?


<?php

namespace App\Http\Livewire;
use App\Models\User;
use LivewireUI\Modal\ModalComponent;
use Illuminate\Support\Facades\Validator;


class AddNewCustomer extends ModalComponent
    {
        public $rules = [
            'name'=> '',
            'email'=> '',
            'mobile'=> '',
            'password'=> '',
            'password_confirmation'=> '',

        ];
        public function render()
        {
            return view('livewire.add-new-customer');
        }
        private function resetInputFields(){

            $this->name = '';
            $this->email = '';
            $this->mobile = '';
            $this->password = '';

        }
        public function save()
        {
            
            $validator = Validator::make($this->rules,[
                'name' => 'required|min:5',
                'email' => 'required|email',
                'mobile' => 'required|numeric',
                'password' => 'required|between:8,255|confirmed',
            ])->validate();
            $validator['password']=bcrypt($validator=['password']);
            User::create($validator);
            $this->resetInputFields();
            return redirect()->to('/dashboard/users');
        }

    public function goback()
    {
        return redirect()->to('/dashboard/users');
    }
}

and also this:

<?php

namespace App\Http\Livewire;
use App\Models\User;
use Illuminate\Support\Facades\Hash;
use LivewireUI\Modal\ModalComponent;
use Illuminate\Support\Facades\Validator;


class AddNewCustomer extends ModalComponent
    {
        public $rules = [
            'name'=> '',
            'email'=> '',
            'mobile'=> '',
            'password'=> '',
            'password_confirmation'=> '',

        ];
        public function render()
        {
            return view('livewire.add-new-customer');
        }
        private function resetInputFields(){

            $this->name = '';
            $this->email = '';
            $this->mobile = '';
            $this->password = '';

        }
        public function save()
        {
            
            $validator = Validator::make($this->rules,[
                'name' => 'required|min:5',
                'email' => 'required|email',
                'mobile' => 'required|numeric',
                'password' => 'required|between:8,255|confirmed',
            ])->validate();
            $validator['password']=Hash::make($validator=['password']);
            User::create($validator);
            $this->resetInputFields();
            return redirect()->to('/dashboard/users');
        }

    public function goback()
    {
        return redirect()->to('/dashboard/users');
    }
}
0 likes
5 replies
Snapey's avatar
Snapey
Best Answer
Level 122

Almost exactly the same as the example in the docs

https://laravel-livewire.com/docs/2.x/input-validation

class AddNewCustomer extends ModalComponent
{
    public $name;
    public $email;
    public $mobile;
    public $password;
    public $password_confirmation;

    protected $rules = [
            'name'=> 'required|min:5',
            'email'=> 'required|email',
            'mobile'=> 'required|numeric',
            'password'=> 'required|between:8,255|confirmed',
     ];

    public function render()
    {
        return view('livewire.add-new-customer');
    }

    public function save()
    {
        $this->validate();

        User::create([
                'name' => $this->name,
                'email' => $this->email,
                'mobile' => $this->mobile,
                'password' => Hash::make($this->password),
        ]);

        return redirect()->to('/dashboard/users');
    }

    public function goback()
    {
        return redirect()->to('/dashboard/users');
    }
}

Please or to participate in this conversation.