Bom dia!
Vimos no curso que o controller Persistecia
(para salvar um curso) está assim:
public function processarRequisicao()
{
$descricao = filter_input(INPUT_POST, 'descricao', FILTER_SANITIZE_STRING);
$curso = new Curso();
$curso->setDescricao($descricao);
$id = filter_input(
INPUT_GET,
'id',
FILTER_VALIDATE_INT
);
if (!is_null($id) && $id !== false) {
$curso->setId($id);
$this->entityManager->merge($curso); // atualização
$this->defineMensagem('success', 'curso atualizado com sucesso');
} else {
$this->entityManager->persist($curso); // novo registro
$this->defineMensagem('success', 'curso cadastrado com sucesso');
}
$_SESSION['tipo-mensagem'] = 'success';
$this->entityManager->flush();
header('Location: /listar-cursos');
}
Aqui temos uma pequena validação do id.
Fosse um caso onde existissem vários campos, cada um com uma validação diferente (por exemplo, idade), ela seria feita aqui no controller ou em outro local?