English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Spring-MVC-Validierung

Online-Tool 4Spring MVC Validation wird verwendet, um die vom Benutzer angegebenen Eingaben zu begrenzen. Um die Eingaben des Benutzers zu validieren, verwendet Spring

oder höheren Versionen und unterstützt die Bean Validation API. Es kann sowohl Server- als auch Client-Anwendungen gleichzeitig validieren.

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.

Validierungskommentare

Lassen Sie uns einige häufig verwendete Validierungskommentare ansehen.

KommentarBeschreibung
@NotNullDer Wert darf nicht leer sein.
@MinDer Wert muss gleich oder größer als der angegebene Wert sein.
@MaxDer Wert muss gleich oder kleiner als der angegebene Wert sein.
@Size@Size
bestätigt, dass die Größe dem angegebenen Wert entsprechen muss.@Pattern

es bestätigt, dass die Sequenz den angegebenen regulären Ausdruck folgt.

Spring MVC Validierung Beispiel*In diesem Beispiel erstellen wir ein einfaches Formular mit Eingabefeldern. Hier (

1) bedeutet, dass das entsprechende Feld obligatorisch ist. Andernfalls wird ein Fehler in der Tabelle verursacht.

、将依赖项添加到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>

2、创建bean类

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;
  } 
}

3、Erstellen Sie den Controller-Klasse

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";
    }
  }
}

4、在web.xml文件中提供控制器的条目

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>

5、在XML文件中定义Bean

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>

6、Erstellen Sie die Seite für die Anfrage

index.jsp

<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<html>
<body>
<a href="hello">Klicken Sie hier...</a>
</body>
</html>

7、andere Ansichtskomponenten erstellen

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.