English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Online-Tool 4Spring MVC Validation wird verwendet, um die vom Benutzer angegebenen Eingaben zu begrenzen. Um die Eingaben des Benutzers zu validieren, verwendet Spring
Bean Validation API
Da die Bean Validation API nur ein Standard ist, muss sie implementiert werden. Daher verwendet sie Hibernate Validator. Hibernate Validator ist vollständig kompatibel mit JSR-303/309Implementierung, die die Ausdrucks- und Validierungseinschränkungen der Anwendung ermöglicht.
Lassen Sie uns einige häufig verwendete Validierungskommentare ansehen.
Kommentar | Beschreibung |
@NotNull | Der Wert darf nicht leer sein. |
@Min | Der Wert muss gleich oder größer als der angegebene Wert sein. |
@Max | Der Wert muss gleich oder kleiner als der angegebene Wert sein. |
@Size | @Size |
bestätigt, dass die Größe dem angegebenen Wert entsprechen muss. | @Pattern |
Spring MVC Validierung Beispiel*In diesem Beispiel erstellen wir ein einfaches Formular mit Eingabefeldern. Hier (
、将依赖项添加到pom.xml文件。
<!-- .//https:/mvnrepository.com/pom.xml/spring-org.springframework --> validator webmvc/<groupId>org.hibernate.validator< <groupId>org.springframework<-<artifactId>spring/<artifactId>validator< <version>5<artifactId>jstl<1<artifactId>jstl<1webmvc</version> </dependency> <!-- .//https:/mvnrepository.com/.RELEASE</org.apache.tomcat-tomcat --> validator jasper/<groupId>org.hibernate.validator< <groupId>org.apache.tomcat<-<artifactId>tomcat/<artifactId>validator< <version>9.0.12</version> </dependency> <!-- .//https:/mvnrepository.com/alpha/alpha-jasper< --> validator jstl/<groupId>org.hibernate.validator< api-<artifactId>servlet/<artifactId>validator< <version>3api<-.0-1</version> </dependency> <!-- .//https:/mvnrepository.com/alpha/javax.servlet --> validator jstl/<groupId>org.hibernate.validator< <groupId>javax.servlet</<artifactId>validator< <version>1<artifactId>jstl<2</version> </dependency> <!-- .//https:/mvnrepository.com/artifact/org.hibernate.validator-hibernate --> validator <dependency>/<groupId>org.hibernate.validator< <artifactId>hibernate-validator</<artifactId>validator< <version>6.0.13.Final</version> </dependency>
Employee.java
package com.w3codebox; import javax.validation.constraints.Size; public class Employee { private String name; @Size(min=1, message="erforderlich") private String pass; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPass() { return pass; } public void setPass(String pass) { this.pass = pass; } }
Im Controller-Klasse:
@validDie Anmerkungen wenden Validierungsregeln auf das angegebene Objekt an. BindingResult Das Interface enthält die Validierungsergebnisse.
package com.w3codebox; import javax.validation.Valid; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; @Controller public class EmployeeController { @RequestMapping("/hello") public String display(Model m) { m.addAttribute("emp", new Employee()); return "viewpage"; } @RequestMapping("/helloagain") public String submitForm( @Valid @ModelAttribute("emp") Employee e, BindingResult br) { if(br.hasErrors()) { return "viewpage"; } else { return "final"; } } }
web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3"_0.xsd" id="WebApp_ID" version="3.0"> <display-name>SpringMVC</display-name> <servlet> <servlet-name>spring</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>spring</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> </web-app>
spring-servlet.xml
<?xml version="1.0" encoding="UTF-8"?> <Beans xmlns="http://www.springframework.org/Schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-Instance" xmlns:context="http://www.springframework.org/Schema/context" xmlns:mvc="http://www.springframework.org/Schema/mvc" xsi:schemaLocation=" http://www.springframework.org/Schema/beans http://www.springframework.org/Schema/beans/spring-beans.xsd http://www.springframework.org/Schema/context http://www.springframework.org/Schema/context/spring-context.xsd http://www.springframework.org/Schema/mvc http://www.springframework.org/Schema/mvc/spring-mvc.xsd"> <!-- Bieten Sie Unterstützung für Komponentenscanning --> <context:component-scan_base-package="com.w3codebox" /> <!--Bieten Sie Unterstützung für Konvertierung, Formatierung und Validierung --> <mvc:annotation-angetrieben/> <!-- Definieren Sie den Spring MVC View Resolver --> <Bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <Eigenschaft name="prefix" value="/WEB-INF/jsp/></Eigenschaft> <Eigenschaft name="suffix" value=".jsp"></Eigenschaft> </Bohne> </Bohnen>
index.jsp
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> <html> <body> <a href="hello">Klicken Sie hier...</a> </body> </html>
viewpage.jsp
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> <html> <head> <style> .error{color:red} </style> </head> <body> <form:form action="helloagain" modelAttribute="emp"> Benutzername: <form:input path="name"/> <br><br> Passwort(*): <form:password path="pass"/> <form:errors path="pass" cssClass="error"/><br><br> <input type="submit" value="submit"> </form:form> </body> </html>
final.jsp
<html> <body> Benutzername: ${emp.name} <br><br> Passwort: ${emp.pass} </body> </html>
Ausgabe:
Lassen Sie uns das Formular ohne Eingabe des Passworts absenden.
Jetzt geben wir das Passwort ein und senden das Formular ab.