value; public bool $is_active = true; protected function rules(): array { return [ 'name' => 'required|string|max:100|unique:users,name', 'email' => 'required|email|max:190|unique:users,email', 'password' => 'required|string|min:8', 'role' => 'required|in:' . implode(',', Role::values()), ]; } protected function messages(): array { return [ 'name.unique' => 'Dieser Benutzername ist bereits vergeben.', 'email.unique' => 'Diese E-Mail-Adresse wird bereits verwendet.', ]; } public function save(): void { $this->validate(); User::create([ 'name' => $this->name, 'email' => $this->email, 'password' => Hash::make($this->password), 'role' => $this->role, 'is_active' => $this->is_active, ]); $this->dispatch('toast', type: 'done', badge: 'Benutzer', title: 'Erstellt', text: "Benutzer {$this->name} wurde angelegt.", duration: 4000); $this->dispatch('$refresh'); $this->closeModal(); } public function render() { $roles = Role::cases(); return view('livewire.ui.system.modal.user-create-modal', compact('roles')); } }