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中配置:

<body align="center" width="100%" height="100%">
	<form th:action="@{/showAdmin/saveAdminOk}" method="post" style="width:50%;height:150px;background:#f12345F" align ="center">
	
		姓        名:<input type="text" name="name"  /><font th:errors="${kklt.name}" color="red"></font></br></br>
		密        码:<input type="password" name="password"/></br><font th:errors="${kklt.password}" color="red"></font></br></br>
		年        龄:<input type="text" name="age"/><font th:errors="${kklt.age}"  color="red"></font></br></br>
	           用户邮箱:<input type="text" name="email"/><font th:errors="${kklt.email}"  color="red"></font></br></br>
	           
		<input type="submit" value="ok"/></br>
	</form>
</body>
更多阅读

SpringMVC, SpringBoot、 Spring Cloud及Maven的理解

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

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

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

androidstarjack

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值