在SpringMVC中使用校验框架

这里使用hibernate提供的校验器,maven pom文件代码如下:


   
   
		
    
    
     
     org.hibernate
    
    
		
    
    
     
     hibernate-validator
    
    
		
    
    
     
     5.1.3.Final
    
    

   
   

在Spring配置文件中进行如下配置:


   
   

   
   
	
    
    

   
   

   
   

   
   

   
   
	
    
    
	
    
    

   
   
建立需要校验的Model类,并对需要校验的成员变量使用注解绑定校验规则:
public class MemberRegisterDto implements java.io.Serializable {

	private static final long serialVersionUID = 559971017090874568L;

	@NotEmpty(message = "{memberUsername.empty}")
	@Length(min = 4, max = 20, message = "{memberUsername.lengthError}")
	private String memberUsername;
	
	@NotEmpty(message = "{memberPassword.empty}")
	@Length(min = 6, max = 16, message = "{memberPassword.lengthError}")
	private String memberPassword;
在classpath目录下建立校验的消息文件:ValidationMessages.properties
memberUsername.empty = \u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A\u3002
memberUsername.lengthError = bbb
memberPassword.empty = ccc
memberPassword.lengthError =ddd
消息文件的key与校验规则中注解的参数保持一致。在控制器中使用校验器:
@Controller
public class MemberRegisterController extends BaseMemberOperationController {

	@RequestMapping(value = "/register.html", method = { RequestMethod.GET })
	public ModelAndView memberRegister(Model model) {
		if (!model.containsAttribute("contentModel")) {
			model.addAttribute("contentModel", new MemberRegisterDto());
		}
		return new ModelAndView("register", model.asMap());
	}

	@RequestMapping("/membercenter.html")
	public ModelAndView memberCenter() {
		return new ModelAndView("membercenter");
	}

	@RequestMapping(value = "/register.html", method = { RequestMethod.POST })
	public ModelAndView memberRegister(
			Model model,                                                       //校验结果通过model传入结果页面
			@Valid @ModelAttribute("contentModel") MemberRegisterDto memberRegisterDto, //@ModelAttribute的值与页面中spring form标签的modelAttribute相对应
			BindingResult result) {                                            //spring完成校验后自动保存在result中
		if (result.hasErrors()) {
			return memberRegister(model);
		} else {
			return memberCenter();
		}
	}
form页面使用spring标签显示error:
 
   
       
       
        
             
        username:
        
        
        
        

password:



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值