i-educar icon indicating copy to clipboard operation
i-educar copied to clipboard

fix: adiciona validação de carga horária no cadastro de servidor (#1063)

Open MuriloM676 opened this issue 2 months ago • 3 comments

DESCRIÇÃO:

Este pull request implementa validação completa para o campo "Carga Horária" no cadastro de servidor, resolvendo o issue #1063 onde o sistema aceitava valores inválidos como 99:99, 25:00 e 12:60.

Implementações realizadas:

  • Validação JavaScript (Front-end): Função validaCargaHoraria() que valida formato HH:MM em tempo real (onBlur) e no submit do formulário, com mensagens de erro claras
  • Validação PHP (Back-end): Método validaCargaHoraria() aplicado nos métodos Novo() e Editar() dos arquivos de cadastro de servidor e alocação
  • Melhorias nas expressões regulares: Atualização das funções campoHora() e campoHoraServidor() para permitir valores de 00:00 até 23:59 e especificamente 24:00
  • Prevenção de dados inconsistentes: Sistema agora rejeita valores como 99:99, 25:00, 12:60, 24:30 e fornece feedback claro ao usuário

Localização: Menu Início → Servidores → Funções do Servidor → Novo → Campo "Carga Horária"

Arquivos modificados:

  • ieducar/intranet/scripts/extra/educar-servidor-cad.js
  • ieducar/intranet/educar_servidor_cad.php
  • ieducar/intranet/educar_servidor_alocacao_cad.php
  • ieducar/intranet/include/clsCampos.inc.php

Resolve #1063

AMBIENTE:

  • Plataforma utilizada: Docker
  • Sistema operacional: Windows 11
  • Navegador: Google Chrome (versão atual)
  • PHP: 8.4 (conforme docker-compose.yml)
  • Framework: Laravel/i-Educar

MuriloM676 avatar Oct 19 '25 13:10 MuriloM676

Tantos if's na função vai adicionar diversas linhas de complexidade a função.

Considere algo mais prático e simples, talvez utilizando Validator::make(), e validações através do Carbon.

edineivaldameri avatar Nov 04 '25 17:11 edineivaldameri

Obrigado pelo feedback! Refatorei a validação conforme solicitado:

  1. Substituí os múltiplos ifs por Validator::make()
  2. Utilizei regex mais simples e direto
  3. Removi duplicação de código

Aguardo nova revisão.

MuriloM676 avatar Nov 06 '25 01:11 MuriloM676