46 lines
1.1 KiB
PHP
46 lines
1.1 KiB
PHP
|
<?php
|
||
|
|
||
|
namespace App\Livewire\User;
|
||
|
|
||
|
use App\Http\Requests\System\CreateUserRequest;
|
||
|
use Livewire\Component;
|
||
|
use App\Models\User;
|
||
|
|
||
|
class Form extends Component
|
||
|
{
|
||
|
public string $name ='';
|
||
|
public string $email ='';
|
||
|
public string $password ='';
|
||
|
public string $password_confirmation ='';
|
||
|
|
||
|
protected function rules()
|
||
|
{
|
||
|
return [
|
||
|
'name' => 'required|max:255|unique:users,name',
|
||
|
'email' => 'required|string|email|max:255|unique:users,email',
|
||
|
'password' => 'required|string|min:8|max:255|confirmed',
|
||
|
];
|
||
|
}
|
||
|
|
||
|
public function render()
|
||
|
{
|
||
|
return view('livewire.user.form');
|
||
|
}
|
||
|
|
||
|
public function store()
|
||
|
{
|
||
|
$validatedData = $this->validate();
|
||
|
User::create($validatedData);
|
||
|
|
||
|
$this->dispatch('close-modal');
|
||
|
$this->dispatch('snackbar', ['message' => __('boilerplate::ui.create'), 'type' => 'success', 'icon' => 'fas fa-check']);
|
||
|
|
||
|
$this->dispatch('userAdded');
|
||
|
|
||
|
$this->reset('name');
|
||
|
$this->reset('email');
|
||
|
$this->reset('password');
|
||
|
$this->reset('password_confirmation');
|
||
|
}
|
||
|
}
|