Spring MVC表单验证(带批注)

这篇文章提供了一个简单HTML表单验证示例。 它基于带有注释的Spring MVC示例。 该代码可在GitHub的Spring-MVC-Form-Validation目录中找到。

数据

在此示例中,我们将使用bean和JSR303验证批注:

public class MyUser {

    @NotNull
    @Size(min=1,max=20)
    private String name;

    @Min(0)
    @Max(120)
    private int age;

    public MyUser(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public MyUser() {
        name = '';
        age = 0;
    }

    // Setters & Getters

}


页数

我们的表单将包含输入元素,但也可能显示错误消息:

<%@page contentType='text/html' pageEncoding='UTF-8'%>
<%@ taglib prefix='form' uri='http://www.springframework.org/tags/form' %>



  
  My User Form!


  
    
Name:
Age:

我们的成功页面是:

<%@page contentType='text/html' pageEncoding='UTF-8'%>
<%@taglib prefix='form' uri='http://www.springframework.org/tags/form'%>
<%@ taglib prefix='c' uri='http://java.sun.com/jsp/jstl/core' %>



  
  Form Processed Successfully!


    Form processed for  ! 
'>Home

我们的主页:

<%@page contentType='text/html' pageEncoding='UTF-8'%>
<%@ taglib prefix='c' uri='http://java.sun.com/jsp/jstl/core' %>



  
  Welcome !!!


  

Spring Form Validation !!!

'>Go to the form!


控制者

注意,我们需要使用

@ModelAttribute确保一个实例
MyUser在模型中始终可用。 在里面 validateForm(),我们需要使用 @ModelAttribute将表单内容移动到 MyUser项目。

@Controller
public class MyController {

    @RequestMapping(value = '/')
    public String home() {
        return 'index';
    }

    @ModelAttribute('myUser')
    public MyUser getLoginForm() {
        return new MyUser();
    }

    @RequestMapping(value = '/myForm', method = RequestMethod.GET)
    public String showForm(Map model) {
        return 'myForm';
    }

    @RequestMapping(value = '/myForm', method = RequestMethod.POST)
    public String validateForm(
        @ModelAttribute('myUser') @Valid MyUser myUser,
        BindingResult result, Map model) {

        if (result.hasErrors()) {
            return 'myForm';
        }

        model.put('myUser', myUser);

        return 'success';

    }

}


Maven依赖

我们需要以下依赖关系。 Hibernate验证程序依赖项对于处理JSR303批注是必需的:


  javax.validation
  validation-api
  1.0.0.GA
  jar



  org.hibernate
  hibernate-validator
  4.3.0.Final


运行示例

编译后,该示例可以与
mvn tomcat:运行。 然后,浏览:

http:// localhost:8383 // spring-mvc-form-validation /。

如果最终用户输入无效的值,将显示错误消息:

Spring MVC表单验证(带批注)_第1张图片

参考: 技术说明博客上的JCG合作伙伴 Jerome Versrynge提供的Spring MVC表单验证(带有批注) 。

翻译自: https://www.javacodegeeks.com/2012/10/spring-mvc-form-validation-with-annotations.html

你可能感兴趣的:(java,python,深度学习,spring,vue,ViewUI)