46 lines
1.2 KiB
PHP
46 lines
1.2 KiB
PHP
<?php
|
|
|
|
namespace App\Livewire\Forms;
|
|
|
|
use Livewire\Attributes\Validate;
|
|
use Livewire\Form;
|
|
use App\Models\User;
|
|
|
|
class UserForm extends Form
|
|
{
|
|
|
|
|
|
public string $name = '';
|
|
public string $email = '';
|
|
public string $password = '';
|
|
public string $password_confirm = '';
|
|
public string $permissions = '';
|
|
|
|
|
|
public function editUser(User $user)
|
|
{
|
|
$data = $user->toArray();
|
|
|
|
$data['permissions'] = $data['permissions'][0];
|
|
|
|
$this->fill($data);
|
|
}
|
|
|
|
protected $rules = [
|
|
'name' => 'required|string|max:255',
|
|
'email' => 'email|unique:users,email',
|
|
'password' => 'string|min:8',
|
|
'password_confirm' => 'string|same:password',
|
|
'permissions' => 'required|string|in:user,admin'
|
|
];
|
|
|
|
protected $messages = [
|
|
'name' => 'Nome precisa ser informado.',
|
|
'email' => 'O email precisa ser informado.',
|
|
'email.unique' => 'O email informado já foi cadastrado anteriormente.',
|
|
'password' => 'A senha precisa ter 8 ou mais caracteres.',
|
|
'password_confirm' => 'As senhas não coincidem.',
|
|
'permissions' => 'Escolha o nível de autorização do usuário.'
|
|
];
|
|
}
|