diff --git a/app/Livewire/Admin/CreateUser.php b/app/Livewire/Admin/CreateUser.php index 1418c83..15d39f3 100644 --- a/app/Livewire/Admin/CreateUser.php +++ b/app/Livewire/Admin/CreateUser.php @@ -19,7 +19,7 @@ class CreateUser extends Component // Nota: Adicionei 'same:password' para garantir que as senhas batem. protected $rules = [ 'name' => 'required|string|max:255', - 'email' => 'required|email', + 'email' => 'required|email|unique:users,email', 'password' => 'required|string|min:8', 'password_confirm' => 'required|string|same:password', // <-- Regra importante! 'permission_level' => 'required|boolean' // ou 'required|in:0,1' @@ -28,6 +28,7 @@ class CreateUser extends Component 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.', 'permission_level' => 'Defina o nível de autorização do usuário.' @@ -59,7 +60,8 @@ public function createUser(UserService $userService) $this->dispatch('user-created'); // Envia a mesma mensagem de sucesso do seu controller - session()->flash('message', 'Usuário cadastrado com sucesso!'); + $this->dispatch('notify', message: 'Usuário cadastrado com sucesso!'); + // (Opcional) Se sua tabela de usuários for outro componente Livewire, // você pode mandar ela atualizar assim: @@ -70,9 +72,6 @@ public function createUser(UserService $userService) // 7. O "Erro" (Tradução do Redirect de Erro) // Em vez de redirecionar, adicionamos o erro ao formulário // para que o usuário veja na tela, sem refresh. - if ($e->getMessage() == 'O e-mail já está cadastrado.') { - $this->addError('email', $e->getMessage()); - } $this->addError('general', $e->getMessage()); }