标签:参考 utf-8 maven boot 最小值 创建 submit pid 字符串
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.4.4</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.Alan</groupId> <artifactId>validate</artifactId> <version>0.0.1-SNAPSHOT</version> <name>validate</name> <description>SpirngbootValidate</description> <properties> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!--spring boot 中使用hibernate validate--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-validation</artifactId> </dependency> <!--<!–Hibernate Validator Maven依赖项 这种过渡性引入了对JakartaBean验证API的依赖(jakarta.validation:jakarta.validation-api:3.0.0). –> <dependency> <groupId>org.hibernate.validator</groupId> <artifactId>hibernate-validator</artifactId> <version>7.0.1.Final</version> </dependency> <!–统一EL参考实现的maven依赖项 Hibernate Validator需要实现雅加达表达式语言有关在约束冲突消息中计算动态表达式的信息(请参见4.1节,“默认消息插值”)。 当应用程序在JavaEE容器(如JBossAS)中运行时,容器已经提供了EL实现。然而,在JavaSE环境中, 您必须将一个实现作为依赖项添加到POM文件中。例如,您可以添加以下依赖项来使用JakartaEL参考实施: –> <dependency> <groupId>org.glassfish</groupId> <artifactId>jakarta.el</artifactId> <version>4.0.0</version> </dependency> <!–Hibernate Validator CDI可移植扩展Maven依赖项 JakartaBean验证使用CDI定义了集成点(JakartaEE的上下文和依赖注入)。 如果您的应用程序运行在一个没有直接提供这种集成的环境中, 您可以通过在POM中添加以下Maven依赖项来使用Hibernate Validator CDI可移植扩展: –> <dependency> <groupId>org.hibernate.validator</groupId> <artifactId>hibernate-validator-cdi</artifactId> <version>7.0.1.Final</version> </dependency>--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
public class Users { private String name; private String password; private Integer age; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPassword() {return password; } public void setPassword(String password) { this.password = password; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } @Override public String toString() { return "Users [name=" + name + ", password=" + password + ", age=" + age + "]"; } }
/** * SpringBoot 表单数据校验 * * */ @Controller public class UsersController { @RequestMapping("/addUser") public String showPage(){ return "add"; } /** * 完成用户添加 */ @RequestMapping("/save") public String saveUser(Users users){ System.out.println(users); return "ok"; }}
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>添加用户</title> </head> <body> <form th:action="@{/save}" method="post"> 用户姓名:<input type="text" name="name"/><br/> 用户密码:<input type="password" name="password" /><br/> 用户年龄:<input type="text" name="age" /><br/> <input type="submit" value="OK"/> </form> </body> </html>
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>操作成功</title> </head> <body> OK。。。。 </body> </html>
OK。。。。
public class Users { @NotBlank //非空校验 private String name; @NotBlank //密码非空校验 private String password; private Integer age; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } @Override public String toString() { return "Users [name=" + name + ", password=" + password + ", age=" + age + "]"; } }
/** * 完成用户添加 *@Valid 开启对 Users 对象的数据校验 *BindingResult:封装了校验的结果 */ @RequestMapping("/save") public String saveUser(@Valid Users users,BindingResult result){ if(result.hasErrors()){ return "add"; } System.out.println(users); return "ok"; }
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>添加用户</title> </head> <body> <form th:action="@{/save}" method="post"> 用户姓名:<input type="text" name="name"/><font color="red" th:errors="${users.name}"></font><br/> 用户密码:<input type="password" name="password" /><font color="red" th:errors="${users.password}"></font><br/> 用户年龄:<input type="text" name="age" /><font color="red" th:errors="${users.age}"></font><br/> <input type="submit" value="OK"/> </form> </body> </html>
/** * 解决异常的方式。可以在跳转页面的方法中注入一个 Uesrs 对象。 * 注意:由于 springmvc 会将该对象放入到 Model 中传递。key 的名称会使用 该对象的驼峰式的命名规则来作为 key。 * 参数的变量名需要与对象的名称相同。将首字母小写。 * * @param users * @return */ @RequestMapping("/addUser") public String showPage( Users users){ return "add"; }
/** * 完成用户添加 *@Valid 开启对 Users 对象的数据校验 *BindingResult:封装了校验的结果 */ @RequestMapping("/save") public String saveUser( @Valid Users users,BindingResult result){ if(result.hasErrors()){ return "add"; } System.out.println(users); return "ok"; }
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>添加用户</title> </head> <body> <form th:action="@{/save}" method="post"> 用户姓名:<input type="text" name="name"/><font color="red" th:errors="${users.name}"></font><br/> 用户密码:<input type="password" name="password" /><font color="red" th:errors="${users.password}"></font><br/>用户年龄:<input type="text" name="age" /><font color="red" th:errors="${users.age}"></font><br/> <input type="submit" value="OK"/> </form> </body> </html>
/** * * 如果想为传递的对象更改名称,可以使用@ModelAttribute("aa")这表示当 前传递的对象的 key 为 aa。 * 那么我们在页面中获取该对象的 key 也需要修改为 aa * @param users * @return */ @RequestMapping("/addUser") public String showPage(@ModelAttribute("aa") Users users){ return "add"; } /** * 完成用户添加 *@Valid 开启对 Users 对象的数据校验 *BindingResult:封装了校验的结果 */ @RequestMapping("/save") public String saveUser(@ModelAttribute("aa") @Valid Users users,BindingResult result){ if(result.hasErrors()){ return "add"; } System.out.println(users); return "ok"; }
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>添加用户</title> </head> <body> <form th:action="@{/save}" method="post"> 用户姓名:<input type="text" name="name"/><font color="red"th:errors="${aa.name}"></font><br/> 用户密码:<input type="password" name="password" /><font color="red" th:errors="${aa.password}"></font><br/> 用户年龄:<input type="text" name="age" /><font color="red" th:errors="${aa.age}"></font><br/> <input type="submit" value="OK"/> </form> </body> </html>
@NotBlank: 判断字符串是否为 null 或者是空串(去掉首尾空格)。
@NotEmpty: 判断字符串是否 null 或者是空串。
@Length: 判断字符的长度(最大或者最小)
@Min: 判断数值最小值
@Max: 判断数值最大值
@Email: 判断邮箱是否合
SpringBoot 第一章服务端表单数据校验 (SpringBoot 高级)
标签:参考 utf-8 maven boot 最小值 创建 submit pid 字符串
原文地址:https://www.cnblogs.com/ios9/p/14592778.html