Skip to content

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

Open
MuriloM676 wants to merge 2 commits intoportabilis:2.10from
MuriloM676:fix/validacao-carga-horaria-servidor-1063
Open

fix: adiciona validação de carga horária no cadastro de servidor (#1063)#1066
MuriloM676 wants to merge 2 commits intoportabilis:2.10from
MuriloM676:fix/validacao-carga-horaria-servidor-1063

Conversation

@MuriloM676
Copy link
Copy Markdown

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

- Implementa validação JavaScript no front-end para formato HH:MM
- Adiciona validação PHP no back-end nos métodos Novo() e Editar()
- Melhora regex dos campos campoHora e campoHoraServidor
- Previne valores inválidos como 99:99, 25:00, 12:60
- Permite valores válidos de 00:00 até 24:00
- Adiciona mensagens de erro claras e user-friendly

Resolve portabilis#1063
@edineivaldameri
Copy link
Copy Markdown
Collaborator

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.

- Substituir múltiplos ifs por Validator::make() conforme sugestão do codeowner
- Simplificar regex para aceitar 00:00-23:59 e 24:00
- Remover duplicação de código entre arquivos
- Melhorar consistência das mensagens de erro
- Utilizar padrão já estabelecido no projeto para validações
@sonarqubecloud
Copy link
Copy Markdown

sonarqubecloud Bot commented Nov 6, 2025

@MuriloM676
Copy link
Copy Markdown
Author

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.

@edersoares edersoares added the needs-qa Código aprovado que precisa ser validado por um QA label Nov 7, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

needs-qa Código aprovado que precisa ser validado por um QA

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Sistema aceita carga horária inválida ao cadastrar servidor

3 participants