Spring validator提供对项目中的POJO或其他需要验证的地方进行验证的接口Validator。该接口有两个方法分别为:
boolean supports(Class<?> clazz); 是否支持对提供的类进行验证 void validate(Object target, Errors errors);具体验证的过程和规则。
一。Photo
package com.spring;
/**
* Created by IntelliJ IDEA.
* User: Zhong Gang
* Date: 11-9-6
* Time: 下午10:01
*/
public class Photo {
private String name;
private String path;
private String description;
public Photo(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPath() {
return path;
}
public void setPath(String path) {
this.path = path;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
}
二。PhotoValidator 实现Validator接口
package com.dream.validator;
import com.dream.model.photo.Photo;
import org.springframework.validation.*;
/**
* Created by IntelliJ IDEA.
* User: Zhong Gang
* Date: 11-9-6
* Time: 下午9:39
*/
public class PhotoValidator implements Validator {
@Override
public boolean supports(Class<?> clazz) {
return Photo.class.equals(clazz);
}
@Override
public void validate(Object target, Errors errors) {
ValidationUtils.rejectIfEmpty(errors, "name", "Empty name of photo");
Photo photo = (Photo) target;
String name = photo.getName();
if (name.length() > 10) {
errors.rejectValue("name", "Too long of name's length");
}
}
}
三。ValidatorTest
package com.spring;
import com.dream.model.photo.Photo;
import com.dream.validator.PhotoValidator;
import junit.framework.TestCase;
import org.springframework.validation.DirectFieldBindingResult;
import org.springframework.validation.Errors;
import org.springframework.validation.ObjectError;
import org.springframework.validation.Validator;
import java.util.List;
/**
* Created by IntelliJ IDEA.
* User: Zhong Gang
* Date: 11-9-6
* Time: 下午9:38
*/
public class ValidatorTest extends TestCase {
public void testValidator() throws Exception {
Photo photo = new Photo("This is the name of a photo.");
Validator validator = new PhotoValidator();
Errors errors = new DirectFieldBindingResult(photo, "photo");
boolean isSupport = validator.supports(Photo.class);
validator.validate(photo, errors);
List<ObjectError> allErrors = errors.getAllErrors();
assertTrue(isSupport);
assertEquals(1, allErrors.size());
assertEquals("Too long of name's length", allErrors.get(0).getCode());
}
}
Spring提供了一个工具类ValidationUtils,主要有这样几个方法,1.invokeValidator:执行Validator验证;2.rejectIfEmpty:执行空值验证;
3.rejectIfEmptyOrWhitespace:执行空值或空白字符串验证。
分享到:
相关推荐
how to use spring validator
spring 学习 validator例子
spring_validator验证 基业spring mvc3.0注解验证
主要介绍了Spring Validator接口校验与全局异常处理器,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
spring-validator-rules.xml
Casa-Codigo-Spring-Web-Example-Book-Store:-使用Spring Validator
Spring校验器,参数校验从此简单。下面这篇文章主要给大家介绍了关于Spring中校验器(Validator)的相关资料,文中通过示例代码介绍非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧
主要介绍了springboot使用Validator校验方式,非常不错,具有参考借鉴价值,需要的朋友可以参考下
JSValidation致力于改善这一过程。它将常见的校验(目前支持13种)封装起来,并创造性的采用xml来存贮表单验证信息,使得表单的验证成为整个项目中最不重要的环节,开发者只需要定义几个xml标记,就可以创建出复杂的...
spring mvc校验框架所需的几个jar包hibernate-validator-6.0.7.Final.jar、logging-3.1.0.CR2.jar、validator-api-2.0.2.jar
主要介绍了springboot validator枚举值校验功能实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
主要介绍了SpringBoot 使用hibernate validator校验,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
Struts Hibernate Spring 集成开发宝典 validator 有研究或探讨或开源的请加群:37424970 或联系本人MSN或邮箱:zhuseahui@yahoo.com.cn
Spring Boot + Hibernate Validator + 统一异常,详见https://blog.csdn.net/z1353095373/article/details/111192838
这个Demo示范了怎么通过Spring的Validator接口来进行数据验证,包括Validator的复用、jsp错误信息的展示等。可参考本人博客: http://blog.csdn.net/oLanMoMo/article/details/50530352
使用spring3.0实现基于注解的validator,无侵入式开发。支持正则表达式。使用方法:解压缩后是一个java web工程,即可发布到web服务器中进行演示。
我的博客中的《Spring MVC、hibernate validator和i18n》文章描述的项目的源代码,该文是对Spring mvc, validation和i18n的一个入门级的tutorial。我的博客地址是http://blog.csdn.net/zjysource
Spring + struts + hibernate (原创) Validator 验证 系统配置 :myEclipse7.5 Spring 1.2 +hibernate3.1 +struts 1.3 添加的顺序不能乱否则会出错 很好的一个入门教材
使用spring validator 对bean进行类似js的校验 下载包 validation-api.jar hibernate-validator.jar
Struts_Spring_Hibernate_Log4j_Validator实例演示 完全组建