Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Consistência ou validação dos campos de entrada

Olá! Fazendo a parte 1 e agora parte 2 fiquei com dúvida em relação a validação dos dados . Qual a melhor alternativa para validar os campos do formulário no backend em PHP, pensando em uma solução OO. 1 - Criar uma classe de validação de dados OU 2 - Fazer a validação dos dados (filter_var e empty, not_numeric) ao pegar a informação do formulário antes de criar e valorizar os atributos do objeto OU 3 - outra alternativa

Outra dúvida, no caso de inconsistência de algum dado do campo de entrada é melhor lançar uma exceção ou armazenar os erros na sessão para exibir para o usuário?

1 resposta
solução!

Oi Thiago, tudo bem?

No geral, se estiver trabalhando com O.O, uma classe seria o mais direto a se fazer.

Agora, como fazer, depende.

No caso 1: Cada uma das entidades do negócio, teria sua classe? Agora indo um pouco mais a fundo, por que não validar direto na entrada do dado na entidade, sabe o método setAlgumaCoisa? Ele seria o lugar ideal para acontecer uma validação, durante o processo de atribuição do dado.

O caso 2 também é válido aplicado ao caso 1, nesse sentido, seu filter_var estaria dentro do encapsulamento da classe.

A minha sugestão é: use os sets para validação do dado, se houver erro no dado, lance erros (throw), se for erro do usuário, armazene na sessão e exiba mensagens que ajude o usuário a identificar o problema e como resolvê-lo.