springMVC数据验证

本文介绍如何使用JSR303规范进行数据验证,并结合Spring MVC实现请求参数的有效性检查。具体包括导入hibernate-validator库、在控制器中使用@Valid注解以及错误消息的处理。

导入JSR303jar

在这里插入图片描述
在这里插入图片描述

hibernate Validator扩展注解

在这里插入图片描述
在springmvc.xml中配置mvc:annotation-driven/,在处理方法中添加@valid注解。
在这里插入图片描述

@Component
public class Student{
	@Length(min =3,message = "最小长度为3")
	private String stuName;
	private String stuAiHao;
	private String stuSex;
	private Clazz slazz;
	public Student(String stuName, String stuAiHao, String stuSex, Clazz slazz) {
		super();
		this.stuName = stuName;
		this.stuAiHao = stuAiHao;
		this.stuSex = stuSex;
		this.slazz = slazz;
	}
	public Student() {
		super();
	}
	public String getStuName() {
		return stuName;
	}
	public void setStuName(String stuName) {
		this.stuName = stuName;
	}
	public String getStuAiHao() {
		return stuAiHao;
	}
	public void setStuAiHao(String stuAiHao) {
		this.stuAiHao = stuAiHao;
	}
	public String getStuSex() {
		return stuSex;
	}
	public void setStuSex(String stuSex) {
		this.stuSex = stuSex;
	}
	public Clazz getSlazz() {
		return slazz;
	}
	public void setSlazz(Clazz slazz) {
		this.slazz = slazz;
	}
	@Override
	public String toString() {
		return "Student [stuName=" + stuName + ", stuAiHao=" + stuAiHao + ", stuSex=" + stuSex + ", slazz=" + slazz
				+ "]";
	}
}
@RequestMapping(value = "/listadd",method = RequestMethod.POST)
	public String add(@ModelAttribute("student")@Valid Student sutdent,BindingResult result,Map<String,Object> map,HttpServletRequest request) {
		List<String> list12=new ArrayList<String>();
		System.out.println(result.getErrorCount());
		if(result.getErrorCount()>0) {
			for (ObjectError  error: result.getAllErrors()) {
			    list12.add(error.getDefaultMessage());
			}
			init(map, request);
			//将错误通过map传入jsp页面
			map.put("list5",list12);
			return "listadd";
		}
		service.add(sutdent);
		return "redirect:/index";
	}
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值