2016-04-12 20 views
0

Ich bin wirklich neu in Struts und Hibernate. Ich arbeite an einer Web-App, bei der Benutzer ein Formular ausfüllen. Ich muss einige Felder validieren, ich versuche in einigen Feldern Validierungen in der POJO-Klasse zu verwenden.Validierung funktioniert nicht mit meiner Struts-Hibernate App

Wie @Past on Date, @Max on int.

Aber es funktioniert nicht richtig und wirft diese Ausnahmen.

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) 

Ich habe diese Gläser enthalten.

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

Antwort

0

Hibernate Validierungen ausgeführt werden, wenn Sie ein Objekt zu bestehen versuchen. Die Ausnahme stacktrace zeigt, dass Sie vorübergehende Instanzen in der Hibernate-Sitzung speichern.

Es löst eine Ausnahme aus, weil das zu validierende Objekt ungültige Werte hat. Mit der Ausnahme können Sie die aktuelle Transaktion zurücksetzen.

Die org.hibernate.validator.InvalidStateException könnte von Ihrem Code abgefangen werden, um einige Informationen für den Fehler zu erhalten. Es hat eine Methode getInvalidValues(), die Validierungsfehler zurückgibt.