toArray(); $data['has_call_center'] = (bool) $client->has_call_center; $data['has_voice_gateway'] = (bool) $client->has_voice_gateway; $data['has_fop2'] = (bool) $client->has_fop2; $this->fill($data); } // 4. ADICIONADO: Método de Regras /** * Define as regras de validação para o formulário. */ public function rules() { return [ 'name' => 'required|string|max:255', 'legal_name' => 'nullable|string|max:255', 'cnpj' => 'nullable|string|max:20', 'profile_image_path' => 'nullable|image|max:2048', // 2MB Max 'pbx_hosting' => 'nullable|string|max:255', 'activation_date' => 'nullable|date', 'carrier' => 'nullable|string|max:255', 'access_type' => 'nullable|string|max:255', 'server_ip' => 'nullable|ip', 'root_password' => 'nullable|string', 'has_call_center' => 'boolean', 'has_voice_gateway' => 'boolean', 'has_fop2' => 'boolean', 'modules' => 'nullable|json', 'whatsapp_number' => 'nullable|string|max:20', 'whatsapp_activation_date' => 'nullable|date', ]; } // 5. ADICIONADO: Método de Mensagens Customizadas /** * Define as mensagens de erro customizadas. */ public function messages() { return [ 'name.required' => 'O campo Nome Fantasia é obrigatório.', 'name.max' => 'O Nome Fantasia não pode ter mais que 255 caracteres.', 'profile_image_path.image' => 'O arquivo deve ser uma imagem válida (jpg, png, etc.).', 'profile_image_path.max' => 'A imagem não pode ser maior que 2MB.', 'server_ip.ip' => 'Por favor, insira um endereço de IP válido.', 'modules.json' => 'O campo módulos deve conter um formato JSON válido.', '*.date' => 'Por favor, insira uma data válida.', '*.boolean' => 'Este campo deve ser verdadeiro ou falso.', ]; } }