Pular para o conteúdo principal

Questão de Programação — Programação de front end — FUNDATEC 2026

ProgramaçãoProgramação de front end
Código
qg685297
Banca
FUNDATEC
Órgão
IFC-SC
Ano
2026
Nível
Superior
Cargo
Professor EBTT - Informática: Programação Básica e Programação Web
Analise o seguinte formulário PHP/HTML:Imagem associada para resolução da questãoSe um usuário clicar em “Enviar” com o campo de email vazio e a senha com apenas 4 caracteres, o que ocorrerá no navegador moderno antes dos dados chegarem ao servidor PHP?
  1. AO navegador realizará a validação nativa e impedirá o envio (Submit) até que o email seja preenchido e a senha tenha o tamanho mínimo de 8.
  2. BO navegador enviará os dados e o PHP retornará um erro de sintaxe.
  3. CO campo de email impedirá o envio devido ao atributo required, mas a senha será aceita.
  4. DO atributo name será ignorado e os dados serão enviados via URL (GET).
  5. EO formulário será enviado, pois o HTML5 não possui validação nativa de tipos como email.
Revelar gabarito e comentário

GabaritoA — O navegador realizará a validação nativa e impedirá o envio (Submit) até que o email seja preenchido e a senha tenha o tamanho mínimo de 8.

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Validação nativa de formulários HTML5

Gabarito: letra A. Em um navegador moderno, a validação nativa do HTML5 (atributos required, type="email" e minlength) é executada no lado do cliente, antes de qualquer requisição HTTP chegar ao servidor PHP. Como o campo de email está vazio e a senha tem apenas 4 caracteres (abaixo do mínimo de 8), o navegador bloqueará o envio e exibirá mensagens de erro, impedindo o submit do formulário.

A validação de formulários é uma das funcionalidades mais importantes do HTML5, pois permite que o navegador verifique os dados antes de enviá-los ao servidor. Isso melhora a experiência do usuário (feedback imediato, sem recarregar a página) e reduz a carga no servidor, que não precisa processar requisições com dados claramente inválidos.

Como funciona a validação nativa?

Quando um formulário contém campos com atributos de validação, o navegador aplica as seguintes regras no momento do submit:

  1. required: o campo não pode estar vazio. Se estiver, o navegador exibe uma mensagem como "Preencha este campo" e impede o envio.

  2. type="email": o valor deve ser um endereço de email válido (formato [email protected]). Se não for, o navegador exibe "Inclua um @ no endereço de email" e bloqueia.

  3. minlength="8": o valor deve ter pelo menos 8 caracteres. Se tiver menos, o navegador exibe "Use pelo menos 8 caracteres" e bloqueia.

Essas validações são aplicadas em cascata: o navegador verifica todos os campos inválidos e só permite o envio quando todos passam. No caso do enunciado, o email vazio falha no required e a senha de 4 caracteres falha no minlength="8" — portanto, o formulário não é enviado.

O papel do PHP

O PHP é uma linguagem server-side: ele roda no servidor, não no navegador. O código PHP só é executado depois que os dados chegam ao servidor. Como a validação HTML5 bloqueia o envio antes disso, o PHP nunca chega a ser executado neste cenário. O PHP não tem como "retornar erro de sintaxe" por causa de validação de formulário — isso seria um erro de programação, não de validação.

A pegadinha da questão

A banca explora a confusão entre validação no cliente (HTML5/JavaScript) e validação no servidor (PHP). O candidato que não conhece a validação nativa do HTML5 pode achar que o formulário será enviado e o PHP fará a verificação — mas isso está errado. O HTML5 tem sim validação nativa, e ela é executada antes do envio.

NÃO CAIA NESSA!

A banca tenta fazer você acreditar que o HTML5 não valida nada (alternativa E) ou que o PHP faria a validação (alternativa B). Na verdade, a validação nativa do HTML5 é automática e bloqueia o envio antes de qualquer requisição ao servidor. O PHP só entra em ação se os dados passarem pela validação do navegador.

  1. 1Usuário clica em Enviar
  2. 2Navegador valida campos
  3. 3Bloqueia envio se inválido
  4. 4PHP nunca é executado
LEVEL · soulevel.com.br

Alternativa A — ✅ Correta ⟵ GABARITO

Esta alternativa descreve exatamente o comportamento do navegador: a validação nativa do HTML5 impede o envio até que o email seja preenchido (atributo required) e a senha tenha o tamanho mínimo de 8 caracteres (atributo minlength="8"). O navegador exibe mensagens de erro nos campos inválidos e não dispara o evento de submit.

Alternativa B — ❌ Incorreta

O PHP é uma linguagem server-side: ele roda no servidor, depois que os dados chegam. Como a validação HTML5 bloqueia o envio antes, o PHP nunca é executado neste cenário. Além disso, "erro de sintaxe" é um erro de programação no código PHP, não uma resposta a dados inválidos — o PHP não "retorna erro de sintaxe" por causa de validação de formulário.

Alternativa C — ❌ Incorreta

A alternativa afirma que apenas o email seria bloqueado, mas a senha também é bloqueada. O atributo minlength="8" na senha faz com que o navegador impeça o envio enquanto a senha tiver menos de 8 caracteres. Como a senha tem apenas 4, ambos os campos são inválidos e o formulário não é enviado.

Alternativa D — ❌ Incorreta

O atributo name é essencial para o envio de formulários: é ele que define o nome do parâmetro enviado ao servidor (ex.: $_POST['email']). Ele nunca é ignorado. Além disso, o método de envio é definido pelo atributo method do formulário (GET ou POST) — não há relação com o atributo name. E, neste caso, o envio nem ocorre, pois a validação bloqueia.

Alternativa E — ❌ Incorreta

O HTML5 tem sim validação nativa de tipos como email. Os atributos type="email", required e minlength são parte da especificação HTML5 e são suportados por todos os navegadores modernos. A validação é automática e bloqueia o envio de dados inválidos.

Gabarito: letra A — a validação nativa do HTML5 impede o envio do formulário até que todos os campos passem nas regras definidas pelos atributos.

Link permanente: /questoes/qg685297