2016-04-12 22 views
0

我对struts和Hibernate真的很陌生。我正在使用用户填写表单的Web应用程序。我必须对某些字段进行验证,我试图在POJO类的某些字段中使用验证。验证不适用于我的struts-hibernate应用程序

Like @Past on Date@Max on int

但它不能正常工作并抛出这些异常。

HTTP Status 500 validation 
failed for: com.contact.ContactRegistration 
type Exception report 
message validation failed for: com.contact.ContactRegistration 
description The server encountered an internal error that prevented it from  fulfilling this request. 
exception 
org.hibernate.validator.InvalidStateException: validation failed for: com.contact.ContactRegistration 
org.hibernate.validator.event.ValidateEventListener.validate(ValidateEventListener.java:148) 
org.hibernate.validator.event.ValidateEventListener.onPreInsert(ValidateEventListener.java:172) 
org.hibernate.action.EntityIdentityInsertAction.preInsert(EntityIdentityInsertAction.java:119) 
org.hibernate.action.EntityIdentityInsertAction.execute(EntityIdentityInsertAction.java:42) 
org.hibernate.engine.ActionQueue.execute(ActionQueue.java:250) 
org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:298) 
org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:181) 

我已经包括这些罐子。

  1. classmate-1.0.0
  2. hibernate-validator.jar
  3. jboss-logging-3.1.0-CR2
  4. validation-api-1.1.0.Final

回答

0

Hibernate的验证是当你想坚持的目标进行。异常堆栈跟踪显示您正在Hibernate会话中保存临时实例。

它引发异常,因为被验证的对象具有无效值。该异常允许您回滚当前事务。

org.hibernate.validator.InvalidStateException可能被您的代码捕获以获取发生错误的一些信息。它有一个方法getInvalidValues(),它返回验证错误。

相关问题