Apex T.I.C

Endpoint: Validação

O que é Validação de Dados?

A validação é o processo de garantir que os dados recebidos por uma aplicação estejam corretos, completos e seguros antes de serem processados ou armazenados. Em APIs, especialmente RESTful, esse processo protege contra entradas inválidas, ataques e falhas no sistema.

Validações podem ser aplicadas tanto no cliente (frontend) quanto no servidor (backend). Embora validações no frontend melhorem a experiência do usuário, é imprescindível que o backend valide todos os dados recebidos, garantindo segurança e integridade.

Por que a Validação é Importante?

Tipos de Validação

Exemplo em Node.js com Express e Joi

const express = require('express');
const Joi = require('joi');
const app = express();
app.use(express.json());

const schemaUsuario = Joi.object({
  nome: Joi.string().min(3).required(),
  email: Joi.string().email().required(),
  idade: Joi.number().integer().min(18).max(60).required()
});

app.post('/usuarios', (req, res) => {
  const { error } = schemaUsuario.validate(req.body);
  if (error) return res.status(400).json({ erro: error.details[0].message });

  // prossegue com o processamento se os dados forem válidos
  res.status(201).json({ mensagem: 'Usuário criado com sucesso' });
});

app.listen(3000, () => console.log('API validação rodando na porta 3000'));

Esse exemplo mostra como validar um payload de criação de usuário, garantindo que nome, email e idade atendam critérios específicos.

Erros Comuns na Validação

Boas Práticas