2016-04-12 25 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(),它返回驗證錯誤。

相關問題