Validação na camada de negócios do Stella Caelum

1 resposta
dugbuddy

Estou fazendo um sistema no qual faz a validação server-side.
Gostaria de saber como ficaria para eu validar usando o Stella em minha servlet esses 2 tipos de verificacoes do Stella.

código do site do Stella

Pessoa pessoa = new Pessoa();  
    pessoa.setCpf("XXXXXXXXXXX");  
    ClassValidator<Pessoa> validator = new ClassValidator<Pessoa>(Pessoa.class);  
    try {  
        validator.assertValid(pessoa);  
    } catch (InvalidStateException e) {  
        System.out.println(e.getMessage());  
    }

O outro codigo do site do Stella

ClassValidator<Pessoa> validator = new ClassValidator<Pessoa>(Pessoa.class);  
   InvalidValue[] validationMessages = validator.getInvalidValues(pessoa);  
     
   for (InvalidValue invalidValue : validationMessages) {  
       System.out.println(invalidValue.getMessage());  
   }

Este é o meu código.
O Bean Empresa já esta com todos os annotations.

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		
			
		Empresa empresa = new Empresa();

		ClassValidator<Empresa> empresaValidator = new ClassValidator<Empresa>(Empresa.class);

		try{
			empresaValidator.assertValid(empresa);
		} catch (InvalidStateException e) {
			System.out.println(e.getMessage());
		}

Outra questão é se no Bean o @CPF faz a verificacao com os pontos e traços ou não?

Muito Obrigado

Douglas Luciano

1 Resposta

dugbuddy

Estou tentando rodar minha servlet, mas eu pego este erro:
HTTP Status 500 -

--------------------------------------------------------------------------------

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: Servlet execution threw an exception

root cause

java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory
org.hibernate.validator.ClassValidator.(ClassValidator.java:53)
br.com.vetoreditora.psiconline.servlets.CadastrarEmpresa.doPost(CadastrarEmpresa.java:58)
javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

root cause

java.lang.ClassNotFoundException: org.slf4j.LoggerFactory
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
java.lang.ClassLoader.loadClassInternal(Unknown Source)
org.hibernate.validator.ClassValidator.(ClassValidator.java:53)
br.com.vetoreditora.psiconline.servlets.CadastrarEmpresa.doPost(CadastrarEmpresa.java:58)
javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

note The full stack trace of the root cause is available in the Apache Tomcat/6.0.18 logs.

minha servlet é essa:

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		
		
		
		Empresa empresa = new Empresa();
	
		ClassValidator<Empresa> empresaValidator = new ClassValidator<Empresa>(Empresa.class);
		InvalidValue[] validationMessages = empresaValidator.getInvalidValues(empresa);
		for (InvalidValue invalidValue : validationMessages){
			System.out.println(invalidValue.getMessage());
		}			
			
		empresa.setRazaoSocial(request.getParameter("razaoSocial"));
		empresa.setCnpj(request.getParameter("cnpj"));
		empresa.setInscricaoEstadual(request.getParameter("inscricaoEstadual"));
			
			
		
		Endereco endereco = new Endereco();	
		
		ClassValidator<Endereco> enderecoValidator = new ClassValidator<Endereco>(Endereco.class);
		InvalidValue[] validationMessages2 = enderecoValidator.getInvalidValues(endereco);
		for(InvalidValue invalidValue : validationMessages2){
			System.out.println(invalidValue.getMessage());
		}
		
		endereco.setLogradouro(request.getParameter("endereco"));
		endereco.setBairro(request.getParameter("bairro")) ;
		endereco.setCidade(request.getParameter("cidade"));
		endereco.setCep(request.getParameter("cep"));
		
		
		Estado estado = new Estado();	
		ClassValidator<Estado> estadoValidator = new ClassValidator<Estado>(Estado.class);
		InvalidValue[] validationMessages3 = estadoValidator.getInvalidValues(estado);
		for(InvalidValue invalidValue : validationMessages3){
			System.out.println(invalidValue.getMessage());
		}
		estado.setSigla(request.getParameter("uf")) ;
		
		
			
		Telefone telefone = new Telefone();		
		ClassValidator<Telefone> telefoneValidator = new ClassValidator<Telefone>(Telefone.class);
		InvalidValue[] validationMessages4 = telefoneValidator.getInvalidValues(telefone);
		for(InvalidValue invalidValue : validationMessages4){
			System.out.println(invalidValue.getMessage());
		}
		telefone.setDddTel(Integer.parseInt((String)request.getParameter("dddTel")));		
	    telefone.setTel(request.getParameter("tel"));
	   
		
...... resto do código
Criado 22 de julho de 2009
Ultima resposta 22 de jul. de 2009
Respostas 1
Participantes 1