In der Reihe (4) und (5) zeigen wir, wie Daten binden und wie wir die Richtigkeit der Daten sicherstellen können, die wir nach dem Bindung von Daten erhalten? Darüber sprechen wir in diesem Artikel -> Datenüberprüfung.
Hier verwenden wir Hibernate-Validator zur Überprüfung. Der Hibernate-Validator implementiert das JSR-303-Verifizierungsrahmen, um die Überprüfung des Annotationsstils zu unterstützen. Zunächst müssen wir das erforderliche JAR -Paket unter http://hibernate.org/validator/ herunterladen. Hier verwenden wir 4.3.1.Final als Demonstration. Fügen Sie nach Dekompression die drei Pakete zum Hibernate-Validator-4.3.1.Final.jar, Jboss-Logging-3.1.0.jar, Validation-api-1.0.0.ga.jar zum Projekt hinzu.
Konfigurieren Sie die Datei SpringServlet-config.xml im vorherigen Projekt wie folgt:
<!-Unterstützung für Standard-Annotation-Mapping-> <MVC: Annotationsbetrieben Validator = "Validator" Conversion-service = "Conversion-Service" /> <bean id = "validator"> <Eigenschaft name = "Providerclass" value = "org.hibernate. -> <Eigenschaft name = "ValidationMessageSource" ref = "validatemessageSource"/> </bean> <bean id = "Conversion-Service"/> <bean id = "validatemessageSource"> <Eigenschaft name = "BasisName" value = "classPath: validatemessages"/> <"canesconds value = "120"/> </bean>
Der ClassPath: Validatemessages in <Eigenschaft name = "BasisName" value = "classPath: validatemessages"/> ist die Datei, in der sich die Annotationsüberprüfungsnachricht befindet, und wir müssen sie in den Ressourcenordner hinzufügen.
Fügen Sie in dem Paket com.demo.web.controllers wie folgt einen validateController.java -Inhalt hinzu.
Paket com.demo.web.controllers; import Java.security.nosuchalgorithmException; Import Javax.Validation.Valid; org.springFramework.web.bind.annotation.modelattribute; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.Annotation.RequestMethod; Importe com.demo.web.models.validatemodel;@controller@requestMapping (value = "/validate") public class validateController {@RequestMapPing (value = "/test", methode = {requestMethod.get}) öffentlicher String -Test (Modellmodell) {if (! modell.containtribut (")) {if (! modell.containtribute ("))) {if (! modell.containtribute ("))) {if (!). model.addattribute ("contentModel", neuer validatemodel ()); } return "validatetest"; } @RequestMapping (value = "/test", method = {requestMethod.post}) öffentlicher String -Test (Modellmodell, @valid @ModelAttribute ("contentModel") validatemodel validatemodel, BindingResult -Ergebnis) verleiht NoSuchalgorithException. Test (Modell); zurück "validatesuccess"; }}@Valid @ModelAttribute ("contentModel") validatemodel validatemodel @valid bedeutet, nach dem Binden der Daten an @ModelAttribute ("contentModel") zu verifizieren.
Fügen Sie einen Inhalt validatemodel.java in das Paket com.demo.web.models wie folgt hinzu:
Paket com.demo.web.models; import org.hibernate.validator.constraints.email; org.hibernate.validator.constraints.notempty; @Range (min = 0, max = 150, Message = "{ay.not.inrange}") Private String Age; @NotEmpty (Message = "{E -Mail.not.Empty}") @email (Message = "{E -Mail.not.Correct}") private String -E -Mail; public void setName (String name) {this.name = name; } public void Setage (String Age) {this.age = Age; } public void setemail (String -E -Mail) {this.email = E -Mail; } public String getName () {return this.name; } public String getage () {return this.age; } public String getemail () {return this.email; }}Fügen Sie der Datei den folgenden Inhalt hinzu, in dem sich die Annotationsüberprüfungsnachricht befindet, die Datei validatemessages.Properties:
name.not.empty =/u540d/u79f0/u4e0d/u80fd/u4e3a/u7a7a/u3002age.not.inrange =/u5e74/u9f84/u8d85 /U51fa/U8303/U56F4/U3002email.not.correct=/U90AE/U7BB1/U5730/U5740/U4E0D/U6B63/U786E/U3002EM Ail.not.Empty =/u7535/u5b50/u90ae/u4e0d/u80fd/u60df/u6050/u3002email.not.Empty =/u7535/u5b50/u 90AE/U4E0D/U80FD/U6050/U3002EMAIL.NOT.EMPTY =/U7535/U5B50/U90AE/U4E0D/U80FD/U60DF/U6050/U3002
Unter ihnen entspricht Name.not.Empty usw. dem XXX -Namen in Message = "xxx" in der validatemodel.java -Datei. Der folgende Inhalt wird in die ASCII -Codierung eingegeben, die automatisch in Chinesisch konvertiert wird. Natürlich können Sie XXX auch direkt als Eingabeaufforderungsinhalt schreiben, ohne eine andere validierende Datei zu erstellen. Dies ist jedoch falsch, denn wenn Sie es harten, können Sie es nicht internationalisiert.
Fügen Sie im Ordner "Ansichten" zwei Ansichten hinzu, validatetest.jsp und validatesuccess.jsp:
<%@ page Language = "java" contentType = "text/html; charset = utf-8" pageCoding = "utf-8"%> <! docType html public "-// w3c // dtd html 4.01 transitional // en" "http://www.w3.org/TR/html4/loose.dtd"><%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %><html><head><meta http-equiv="Content-Type" content="text/html; charset = utf-8 "> <title> Titel hier einfügen </title> </head> <body> <Form: Form modelAttribute =" contentModel "methode =" post "> <Form: fehlerspath ="*"> </Form: Fehler> <br/> Name: <form: path = "Alter"/> <br/> <Form: fehlerspath = "Alter"> </Form: Fehler> <br/> E-Mail: <Formular: input path = "Alter"> </Form: Fehler> <br/> path = "E-Mail"/> <br/> <Form: Fehler path = "E-Mail"> </Form> <br/. </body> </html>
<%@ page Language = "java" contentType = "text/html; charset = utf-8" pageCoding = "utf-8"%> <! docType html public "-// w3c // dtd html 4.01 transitional // en" "http://www.w3.org/tr/html4/loose.dtd"><Html><Head><meta http-equiv =" content-type "content =" text/html; charset = utf-8 "> <titels> Hier einfügen. </body> </html>
Es ist besonders wichtig darauf hinzuweisen, dass der Name xxx nach modelAttribute = "xxx" in der validatetest.jsp -Ansicht mit dem Namen XXX in der entsprechenden @Valid @ModelAttribute ("xxx") übereinstimmen muss, da die Modelldaten und die Fehlerinformationen nicht gebunden sind.
<Formular: Fehler path = "Name"> </Form: Fehler> Zeigt Fehlerinformationen für die entsprechenden Attribute des Modells an. Wenn Path = "*", werden Fehlerinformationen für alle Attribute des Modells angezeigt.
Führen Sie den Test aus:
Klicken Sie hier, um direkt einzureichen:
Sie können die Fehlermeldung sehen, dass die Einstellungen korrekt angezeigt werden.
Füllen Sie falsche Daten aus, um einzureichen:
Sie können sehen, dass die Fehlermeldung, die noch korrekt angezeigt wird.
Füllen Sie die richtigen Daten ein, um einzureichen:
Sie können sehen, dass die Überprüfung erfolgreich ist.
Im Folgenden finden Sie die wichtigsten Überprüfungsnotizen und Anweisungen:
Der Inhalt der Datenüberprüfung endet hier, Code -Download: Demo
Weitere Informationen finden Sie im offiziellen Dokument: http://docs.jboss.org/hibernate/validator/4.3/reference/en-us/html/validator-usingvalidator.html
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.