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

xiaoxiao2021-02-27  515

转载请标明出处: 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

@Controller public 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 教程 | 文章汇总
转载请注明原文地址: https://www.6miu.com/read-390.html

最新回复(0)