Springboot的表单验证

Springboot在实体类中提供了一下校验规则:

  • @NotNull:判断是否为null,
  • @NotBlank: 判断字符串是否为 null 或者是空串(去掉首尾空格)。
  • @NotEmpty: 判断字符串是否 null 或者是空串。
  • @Length: 判断字符的长度(最大或者最小)
  • @Min: 判断数值最小值
  • @Max: 判断数值最大值
  • @Email: 判断邮箱是否合法

表单验证使用 JSR303 的验证注解,hibernate-validators,提供了使用MessageSource和访问静态资源(如CSS,JavaScript,图片)国际化支持我们的视图,使用ResourceHandlerRegistry,全部采用基于注解的配置。

bean类


public class Admin implements Serializable{
	@NotBlank(message="姓名不能为空") //姓名的非空校验
	private String name;
	
	@NotBlank(message="密码不能为空") //姓名的非空校验
	private String password;
	
	@NotNull(message="年龄不能为空")  
	@Min(value=15,message="年龄最少不能小于5岁")
	private int  age;
	
	@NotBlank(message="email不能为空")
	@Email(message="email 输入的不是一个合格的字符串,请检车看卡")
	private String  email;
	 ...
}

@Controller
@RequestMapping("/showAdmin")
public class AdaminController {
	
	@RequestMapping("/addAdmin")
	public String showPage(@ModelAttribute("kklt") Admin admin){
		return "addAdmin";
	}
	
	/**
	 * 完成添加的操作
	 * @Valid:开启了多admin参数对象的数据校验
	 * @param admin
	 * @return
	 * 
	 */
	@RequestMapping("/saveAdminOk")
	public String saveAdminFinish(@ModelAttribute("kklt") @Valid Admin admin,BindingResult bindingResult){
		System.out.println("来吧,我过来了~~"+bindingResult);
		if(bindingResult.hasErrors()){
			return "addAdmin";	
		}
		return "success";
	}
}

这何使用Spring表单标签, 表单验证使用 JSR303 的验证注解,hibernate-validators,提供了使用MessageSource和访问静态资源(如CSS,JavaScript,图片)国际化支持我们的视图,使用ResourceHandlerRegistry,全部采用基于注解的配置。

JSR303是一种规范,hibernate-validator是我们在这篇文章中使用的一种实现,它也提供了几个不包含在规范中自己的验证注释。

需要注意的是:

1、向页面传值的时候:可以在跳转页面的方法中注入一个 Adamin 对象。 由于 springmvc 会将该对象放入到 Model 中传递。 key 的名称会使用 该对象的驼峰式的命名规则来作为 key。参数的变量名需要与对象的名称相同。将首字母小写。

2、如果想为传递的对象更改名称,可以使用@ModelAttribute(“aa”)这表示当 前传递的对象的 key 为 aa。那么我们在页面中获取该对象的 key 也需要修改为 aa * @param admin

在html中配置:


	
姓 名:

密 码:


年 龄:

用户邮箱:


更多阅读

SpringMVC, SpringBoot、 Spring Cloud及Maven的理解

终于,我还是下决心学Java后台了

坚持:学习Java后台的第一阶段,我学习了那些知识

你可能感兴趣的:(Java,web)