




















原文:https://ichochy.com/posts/spring/20211105.html
表单接交数据并完成数据验证,约束用户数据的接交,已解决数据的正确性和完整性,达到系统的可用性。
参照《Spring 表单提交,Form Submission》 https://ichochy.com/posts/20210530.html
├── pom.xml
└──src
└── main
├── java
│ └── com
│ └── ichochy
│ └── example
│ ├── ExampleApplication.java
│ └── form
│ ├── Form.java
│ └── FormController.java
└── resources
├── application.properties
├── static
└── templates
├── form.html
└── result.html
添加验证库
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
添加验证注解
Form.java
/*
* Copyright (c) 2021 iChochy
* URL:https://ichochy.com
* Date:2021/06/10 19:36:10
*/
package com.ichochy.example.form;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
/**
* 表单信息
*/
public class Form {
@NotNull
private long id;
@NotBlank
private String title;
@Pattern(regexp = "https://\\w+.com")
private String url;
@NotBlank
private String content;
//get set ....
}
添加 @Valid
public String submitForm(@Valid Form form, BindingResult bindingResult, Model model) {
model.addAttribute("form", form);
if(bindingResult.hasErrors()){
return "form";
}
return "result";
}
添加错误提示信息
<p>Title:</p>
<p>
<input type="text" th:field="*{title}"/>
<span th:if="${#fields.hasErrors('title')}" th:errors="*{title}"></span>
</p>
main 方法启动项目
/*
* Copyright (c) 2021 iChochy
* URL:https://ichochy.com
* Date:2021/06/09 22:07:09
*/
package com.ichochy.example;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class ExampleApplication {
public static void main(String[] args) {
SpringApplication.run(ExampleApplication.class, args);
}
}
服务默认端口号为8080

直接访问:http://localhost:8080/form

提交信息不能通过验证,页面会提示错误信息

Submit 提交表单后可以查看到表单提交的信息

添加 @Valid 注解完成表单的后端验证,快速、便捷、安全。
https://github.com/iChochy/Example
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。