Spring validate 框架笔记

Spring validate 框架笔记

一,    页面准备

1,引用spring 的标签库<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>,采用spring的form标签,form的重要属性modelAttribute不能忘记了,modelAttribute="userVO"(控制层接收对象或表单对象),其他的标签的属性path就填写modelAttribute属性值的对象的属性就行了。

二,    在controller方法的参数为userVO,后面要紧跟着BindingResult对象,不然的话会报错,这个对象可以用来传递到页面显示错误信息,方法如下:

public ModelAndView add(UserVOuserVO,BindingResult bindingResult){

       //TODOdo some code

return new ModelAndView();

}
三,    在校验对象的时候,写一个类去实现spring Validator接口,并实现validate接口。

四,    在校验属性的时候,可用以下方法:

ValidationUtils.rejectIfEmpty(errors, "username","user.username.empty");

说明:username是UserVO的一个属性,这个可以判断是否为空或null,如果是空或null会直接把user.username.empty对应的资源文件中的key值放进行errors对象中;如果要对值做其他验证,如长度限制,可以用常用的方法,但加入错误信息则用:
errors.rejectValue("username", "user.username.too.long",new Object[] { USERNAME_MAX_LENGTH }, null); 

rejectValue有多个重载方法;

五,    验证流程

1,         在提交表单的时候,因为modelAttribute="userVO"这个属性,直接把这个对象加入到errors对象的target属性中;

2,         在验证过程中,要得到被验证的对象,可以直接获取:

UserVO userVO=(UserVO) target; 

3,         验证某个属性是否为空,直接可以用工具类ValidationUtils,里面有很多工具,常见的ValidationUtils.rejectIfEmpty(errors, "username","user.username.empty");直接校验某个属性是否为空或null,且直接把错误信息添加到errors对象中;

4,         对于非空的其他验证,可以采用普通的验证方式,在添加到错误信息的时候用

errors.rejectValue("username", "user.username.too.long",new Object[] { USERNAME_MAX_LENGTH }, null);

rejectValue有多个重载方法;

六,    页面接收错误信息

<form:errors path="username"/>path跟你的验证属性一致就行;

记录点滴,方便大家。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值