VRaptor + Spring + Hibernate Validate

4 respostas
J

O VRaptor com Hibernate validator nao esta conseguindo validar meu campo esta ai meu codigo

public class BeanCadEquipamentoVeiculo {
	private CadEquipamentoVeiculo cadequipamentoveiculo;
	
	public BeanCadEquipamentoVeiculo() {
		// TODO Auto-generated constructor stub
		this.cadequipamentoveiculo = new CadEquipamentoVeiculo();
	}

	public CadEquipamentoVeiculo getCadequipamentoveiculo() {
		return cadequipamentoveiculo;
	}

	public void setCadequipamentoveiculo(CadEquipamentoVeiculo cadequipamentoveiculo) {
		this.cadequipamentoveiculo = cadequipamentoveiculo;
	}
}
@Component("cadequipamentoveiculo")
public class CadEquipamentoVeiculoLogic {
	@Parameter(create=true)
	@Out
	private BeanCadEquipamentoVeiculo beancadequipamentoveiculo = new BeanCadEquipamentoVeiculo();

	public CadEquipamentoVeiculoLogic(DaoGenerico daoGenerico) {
		// TODO Auto-generated constructor stub
		this.daoGenerico = daoGenerico;
	}
	
	@Validate(fields={"beancadequipamentoveiculo.cadequipamentoveiculo.descricao"})
	public void salvar() {
		this.daoGenerico.getDao().salvar(this.beancadequipamentoveiculo.getCadequipamentoveiculo());
	}
	
	public void deletar() {
	}
	
	public void editar() {
	}
		
	public void localizar() {
	}
		
	public void listar() {
	}
	
	public void formulario() {
	}
}

exception

javax.servlet.ServletException: Unable to validate field cadequipamentoveiculo

org.vraptor.http.DefaultDispatcher.dispatch(DefaultDispatcher.java:69)

org.vraptor.VRaptorServlet.service(VRaptorServlet.java:48)

javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:83)

org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)

org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)

org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)

root cause

org.vraptor.reflection.GettingException: Unable to validate field cadequipamentoveiculo

org.vraptor.reflection.ReflectionUtil.getField(ReflectionUtil.java:289)

org.vraptor.plugin.hibernate.HibernateLogicMethod.validateField(HibernateLogicMethod.java:79)

org.vraptor.plugin.hibernate.HibernateLogicMethod.validate(HibernateLogicMethod.java:57)

org.vraptor.core.ValidatorEngine.validate(ValidatorEngine.java:35)

org.vraptor.interceptor.SettingAndValidationInterceptor.intercept(SettingAndValidationInterceptor.java:100)

org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)

org.vraptor.interceptor.InjectionInterceptor.intercept(InjectionInterceptor.java:41)

org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)

org.vraptor.interceptor.ComponentLookupInterceptor.intercept(ComponentLookupInterceptor.java:57)

org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)

org.vraptor.interceptor.FlashScopeInterceptor.intercept(FlashScopeInterceptor.java:22)

org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)

org.vraptor.interceptor.RegisterAttributesInteceptor.intercept(RegisterAttributesInteceptor.java:47)

org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)

org.vraptor.core.VRaptorExecution.execute(VRaptorExecution.java:97)

org.vraptor.core.DefaultController.execute(DefaultController.java:46)

org.vraptor.http.DefaultDispatcher.dispatch(DefaultDispatcher.java:44)

org.vraptor.VRaptorServlet.service(VRaptorServlet.java:48)

javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:83)

org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)

org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)

org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)

root cause

java.lang.NoSuchFieldException: cadequipamentoveiculo

java.lang.Class.getDeclaredField(Class.java:1882)

org.vraptor.reflection.ReflectionUtil.getField(ReflectionUtil.java:283)

org.vraptor.plugin.hibernate.HibernateLogicMethod.validateField(HibernateLogicMethod.java:79)

org.vraptor.plugin.hibernate.HibernateLogicMethod.validate(HibernateLogicMethod.java:57)

org.vraptor.core.ValidatorEngine.validate(ValidatorEngine.java:35)

org.vraptor.interceptor.SettingAndValidationInterceptor.intercept(SettingAndValidationInterceptor.java:100)

org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)

org.vraptor.interceptor.InjectionInterceptor.intercept(InjectionInterceptor.java:41)

org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)

org.vraptor.interceptor.ComponentLookupInterceptor.intercept(ComponentLookupInterceptor.java:57)

org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)

org.vraptor.interceptor.FlashScopeInterceptor.intercept(FlashScopeInterceptor.java:22)

org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)

org.vraptor.interceptor.RegisterAttributesInteceptor.intercept(RegisterAttributesInteceptor.java:47)

org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)

org.vraptor.core.VRaptorExecution.execute(VRaptorExecution.java:97)

org.vraptor.core.DefaultController.execute(DefaultController.java:46)

org.vraptor.http.DefaultDispatcher.dispatch(DefaultDispatcher.java:44)

org.vraptor.VRaptorServlet.service(VRaptorServlet.java:48)

javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:83)

org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)

org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)

org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)

4 Respostas

Lucas_Cavalcanti

se eu não me engano você não pode usar pontos no @Validate:

@Validate({“parametro”}) funciona, mas @Validate({“parametro.id”}) não funciona…

deve ser isso…

J

lucascs:
se eu não me engano você não pode usar pontos no @Validate:

@Validate({“parametro”}) funciona, mas @Validate({“parametro.id”}) não funciona…

deve ser isso…

Funciona sim se voce ler documentacao vai ver que tem um exemplo com ponto.

http://vraptor.caelum.com.br/vraptor2/hibernate-plugin.html

G

jvds, você revisou os upper e lower case no nome dos beans e validator? Lembrando que o validator é case sensitive.

J

ja revisei sim esta tudo como lower case.

Criado 25 de setembro de 2009
Ultima resposta 29 de set. de 2009
Respostas 4
Participantes 3