[javax.validation]验证

package main;

import java.util.Set;

import javax.validation.ConstraintViolation;
import javax.validation.Validation;
import javax.validation.Validator;
import javax.validation.ValidatorFactory;
import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;

public class JavaxValidation {
	public static void main(String[] args) {
		Dog d = new Dog();
		d.setName("小明");
		d.setAge(2);
		ValidatorFactory vf = Validation.buildDefaultValidatorFactory();
		Validator validator = vf.getValidator();
		Set<ConstraintViolation<Dog>> set = validator.validate(d);
		for (ConstraintViolation<Dog> constraintViolation : set) {
			System.out.println(constraintViolation.getMessage());
		}
	}
}

class Dog {
	@NotNull(message = "不能为空")
	private String name;

	@Min(value = 1, message = "最少为1")
	@Max(value = 20, message = "最大为20")
	private int age;

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}
}

用到的jar包为

validation-api-1.0.0.GA.jar

hibernate-validator-4.2.0.Final.jar

slf4j-api-1.6.1.jar

太恶心了,javax.validation不都是官方的东西吗?怎么又要引入了hibernate的。而且用hibernate-validator-4.3.1.Final.jar还存在版本兼容问题,找不到某些类。求科普

时间: 2024-10-13 02:44:26

[javax.validation]验证的相关文章

spring4.0整合了validation验证功能

今天翻译博客时 无意中发现的小知识点, 源地址:http://jinnianshilongnian.iteye.com/blog/1990081?page=2#comments Bean Validation 1.1当前实现是Hibernate validator 5,且spring4才支持.接下来我们从以下几个方法讲解Bean Validation 1.1,当然不一定是新特性: 集成Bean Validation 1.1到SpringMVC 分组验证.分组顺序及级联验证 消息中使用EL表达式

javax.validation.UnexpectedTypeException: HV000030: No validator could be found for constraint 解决方法

在使用hibernate validator进行参数有效性校验的时候,我们有时候会遇到javax.validation.UnexpectedTypeException: HV000030: No validator could be found for constraint ,比如,在我们的应用中,使用了自定义注解Dict对枚举进行有效性校验,因为定义的Dict应用于String类型,例如: package com.yidoo.base.metadata.validate; import jav

在系统中使用Bean Validation验证参数

转自:http://www.importnew.com/18561.html 为什么要使用Bean Validation? 当我们实现某个接口时,都需要对入参数进行校验.例如下面的代码 1 2 3 4 5 public String queryValueByKey(String parmTemplateCode, String conditionName, String conditionKey, String resultName) {         checkNotNull(parmTem

javax.validation.UnexpectedTypeException: HV000030: No validator could be found for constraint,NotBlank判断不能为空

java 验证出现如下错误: javax.validation.UnexpectedTypeException: HV000030: No validator could be found for constraint错误原因      Java实体类中属性是Integer类型,用了NotBlank判断不能为空,而这个注解是判断字符串是否为空 3.解决办法 去掉@NotBlank注解.使用@NotNull————————————————版权声明:本文为CSDN博主「无名_四叶草」的原创文章,遵循

javax.validation - BindingResult

1.书写接收参数参数对象,使用 @NotBlank,@NotNull 注解 import javax.validation.constraints.NotBlank;import javax.validation.constraints.NotNull; @Datapublic class AbcParam{ @NotBlank(message = "课程名称不能为") private String title; @NotNull(message = "价格不能为空"

javax.validation.ConstraintViolationException

javax.validation.ConstraintViolationException ... 71 moreCaused by: javax.validation.ConstraintViolationException: validation failed forclasses [cn.com.softvan.travelb2b.domain.TravelLine] during persist time for groups [javax.validation.groups.Defau

javax.validation 自定义校验器

import java.util.Iterator; import java.util.List; import javax.validation.ConstraintValidator; import javax.validation.ConstraintValidatorContext; import org.apache.commons.lang3.StringUtils; public class ListStringPatternValidator implements Constra

javax.validation.UnexpectedTypeException: HV000030: No validator could be found for constraint

使用hibernate validator出现上面的错误, 需要 注意 @NotNull 和 @NotEmpty  和@NotBlank 区别 @NotEmpty 用在集合类上面@NotBlank 用在String上面@NotNull    用在基本类型上 如果在基本类型上面用NotEmpty或者NotBlank 会出现上面的错 http://blog.csdn.net/dracotianlong/article/details/23181729 javax.validation.Unexpec

Exception in thread &quot;main&quot; javax.validation.ValidationException: Unable to find a default provider

Exception in thread "main" javax.validation.ValidationException: Unable to find a default provider 在使用Spring MVC+Mybatis整合的时候出现上面的问题 要将下面三个包加入项目的BuildPath中才行:    hibernate-validator-4.2.0.Final.jar    validation-api-1.0.0.GA.jar    slf4j-api-1.6