SprinMVC_JSR-303数据校验-day02

SpringMVC数据校验

数据校验

1. 导入相应的校验jar包

在这里插入图片描述

  • @NotNull:不能为null,但可以为空字符串
  • @NotEmpty:不能为null,并且长度必须大于0
  • @NotBlank:只能作用在String上,不能为null,而且调用trim()后,长度必须大于0

2. 写jsp页面

<form action="/SpringMVCday2/register" method="post">
		名称:<input type="text" name="name"/>
		<span><font color="red">${name}</font></span><br/>
		密码:<input type="password" name="password"/>
		<span><font color="red">${password}</font></span><br/>
		年龄:<input type="text" name="age"/>
		<span><font color="red">${age}</font></span><br/>
		邮箱:<input type="text" name="email"/>
		<span><font color="red">${email}</font></span><br/>
		描述:<textarea name="description" rows="3" cols="10"></textarea>
		<span><font color="red">${description}</font></span><br/>
		<input type="submit" value="提交">
	</form>

3.为对象属性附上数据校验规则

	//校验要求:名字不能为空,警告信息“名称不能为空”
	@NotEmpty(message="名称不能为空")
	private String name;//姓名
	//校验要求:密码必须为9位,只能包含字母数字和“_”,警告信息“密码长度必须为九位,不能包含符号”
	@Pattern(regexp="^[a-zA-Z0-9_]{9,9}$",message="密码长度必须为九位,不能包含符号")
	private String password;//密码
	
	//校验要求:年龄输入内容不能为空,要求年龄在1至120之间,警告信息“年龄不能为空”和“年龄在1至120之间”
	@Range(min=1,max=120,message="年龄在1至120之间")
	@NotNull(message="年龄不能为空")
	private Integer age;//年龄
	//校验要求:邮箱不能为空,邮箱要是正确的格式,警告信息“邮箱不能为空”和“不是正确的电子邮件格式”
	@NotNull(message="邮箱不能为空")
	@Pattern(regexp="^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$",message="不是正确的电子邮件格式")
	private String email;//电子邮件

	//校验要求:个人描述的内容应在15到30个字符之间,警告信息“个人描述在15个字符到30个字符之间”
	@Pattern(regexp="^.{15,30}$",message="个人描述在15个字符到30个字符之间")
	private String description;//个人描述

4. SpringMVC.xml增加数据校验配置

<!-- 数据校验 -->
	<bean id="validator"
		class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean">
		<property name="providerClass"
			value="org.hibernate.validator.HibernateValidator" />
	</bean>
<!-- 自动 -->
	<mvc:annotation-driven validator="validator" />

5.书写controller

@RequestMapping("/register")
	public ModelAndView  register(@Valid Person person,BindingResult bindingResult) {
		ModelAndView modelAndView=new ModelAndView();
		//数据不合法则
		if(bindingResult.hasErrors()) {
			List<FieldError> errorsList=bindingResult.getFieldErrors();//获取所有的不合法
			for (FieldError fieldError : errorsList) {
				modelAndView.addObject(fieldError.getField(), fieldError.getDefaultMessage());
			}
			modelAndView.setViewName("Register");
		} else { modelAndView.setViewName("RegisterSeccess"); }
			 
		return modelAndView;
	}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值