Tenho uma dúvida sobre validações. Estou desenvolvendo um projeto de sistema de gestão acadêmica e na hora de fazer as validações pensei em fazer da seguinte maneira: crio uma classe para validacoes, esta classe tem um método que recebe o objeto a ser validado, verifica que tipo de objeto é e passa a fazer as validações de acordo com cada tipo de objeto e depois retorna as mensagens de erro em um array.
Está correto isso ou está fora dos padrões MVC? Sei que tem outros jeitos de validar usando Hibernate etc… Mas este está correto?
Desculpe a pergunta mas… Oq é validação no seu sistema? Comparar se um objeto é igual ao outro?
I
Ivan_Sotelo_Codo
Não, quero verificar se a idade por exemplo é maior que 0, ou menor que 120, se nome não está em branco etc . . .
Não quero fazer isso via javascript por que se não o usuário desabilita e bye bye validação.
Abraços
aluisiodsv
aUHUAhuaUHUaUH … está certo. Validação em javascript não dá.
Se vc estiver usando algum framework, provavelmente ele vai ter algum suporte para isto.
Se não estiver usando, pode validar do jeito q achar melhor. Vc não estaria seguindo nenhum padrão.
Hebert_Coelho
Cara, para isso basta no seu servlet quando vc receber o request encaminhar para um método que seja capaz de tratar essas informções.
Por exemplo, vc está indo fazer o cadastro e após o cara finalizar o cadastro ele envia a requisição para “/realizaCadastro.do”.
Basta nesse servlet vc validar. Mas como o aluisiodsv falou, é melhor pegar algum framework para fazer isso para vc. [=
I
Ivan_Sotelo_Codo
Mas o problema é que eu ainda não conheço nenhum frame, estou fazendo tudo na raça mesmo. Sei que preciso estudar isso mas não estou tendo tempo nem nos fds. Tá cruel de trabalho e facul. A minha dúvida era se fazer isso via servlet ou a própria classe chamar outra classe que faça a validação seria correto.
Abraços
Hebert_Coelho
Bem, o modo mais fácil de fazer isso é quando a requisição vier do jsp e chegar ao servlet, vc já valida ali mesmo.
Vamo fazer um troço bonito então.
Cria uma classe abstrata:
public abstract class Validacoes{}
Nessa classe vc colocaria alguns métodos do tipo:
public boolean eUmaStringValida(String str){
// Implementa seu código
}
Nisso vc teria um validaData, validaNumero e assim vai.
No seu servlet vc faz
String nome = request.getParameter("nome");
if (!Validacoes.eUmaStringValida(nome)){
// volta para o site para tratar as informações
}
Vc teria uma “central” de validações.
Oq acha?
Hebert_Coelho
OBS.: Vc chamaria essa classe para todo campo obrigatório sacou? Vamo supor que o cara seja obrigado a preencher uma data de aniversário, aí vc chamaria o método de validar se a data é valida.
I
Ivan_Sotelo_Codo
Sim, boa idéia, farei isso e depois posto o código para vc me dizer o q acha.