SpringBoot非官方教程 | 第十九篇: 验证表单信息

来源:互联网 发布:chunglim淘宝 编辑:程序博客网 时间:2024/06/15 21:36

转载请标明出处:
http://blog.csdn.net/forezp/article/details/71023817
本文出自方志朋的博客

这篇文篇主要简述如何在springboot中验证表单信息。在springmvc工程中,需要检查表单信息,表单信息验证主要通过注解的形式。

构建工程

创建一个springboot工程,由于用到了 web 、thymeleaf、validator、el,引入相应的起步依赖和依赖,代码清单如下:

            org.springframework.boot            spring-boot-starter-web            org.springframework.boot            spring-boot-starter-test            test            org.springframework.boot            spring-boot-starter-thymeleaf            org.hibernate            hibernate-validator            org.apache.tomcat.embed            tomcat-embed-el

创建一个PresonForm的Object类

package com.forezp.entity;import javax.validation.constraints.Min;import javax.validation.constraints.NotNull;import javax.validation.constraints.Size;/** * Created by fangzhipeng on 2017/4/19. */public class PersonForm {    @NotNull    @Size(min=2, max=30)    private String name;    @NotNull    @Min(18)    private Integer age;    public String getName() {        return this.name;    }    public void setName(String name) {        this.name = name;    }    public Integer getAge() {        return age;    }    public void setAge(Integer age) {        this.age = age;    }    public String toString() {        return "Person(Name: " + this.name + ", Age: " + this.age + ")";    }}

这个实体类,在2个属性:name,age.它们各自有验证的注解:

  • @Size(min=2, max=30) name的长度为2-30个字符
  • @NotNull 不为空
  • @Min(18)age不能小于18

创建 web Controller

@Controllerpublic class WebController extends WebMvcConfigurerAdapter {    @Override    public void addViewControllers(ViewControllerRegistry registry) {        registry.addViewController("/results").setViewName("results");    }    @GetMapping("/")    public String showForm(PersonForm personForm) {        return "form";    }    @PostMapping("/")    public String checkPersonInfo(@Valid PersonForm personForm, BindingResult bindingResult) {        if (bindingResult.hasErrors()) {            return "form";        }        return "redirect:/results";    }}

创建form表单

src/main/resources/templates/form.html:

                    Name:                    Name Error                    Age:                    Age Error                    Submit

注册成功的页面

src/main/resources/templates/results.html:

html>        Congratulations! You are old enough to sign up for this site.

演示

启动工程,访问http://localhost:8080/:

如果你输入A和15,点击 submit:

如果name 输入N, age为空:

如果输入:forezp. 18

参考资料

https://spring.io/guides/gs/validating-form-input/

源码下载

https://github.com/forezp/SpringBootLearning

优秀文章推荐:

  • 更多springboot 教程:springBoot非官方教程 | 文章汇总
  • 更多springcoud 教程:史上最简单的 SpringCloud 教程 | 文章汇总
0 0
原创粉丝点击