文档章节

[javax.validation]验证

p2ng
 p2ng
发布于 2014/10/23 16:40
字数 197
阅读 12487
收藏 11
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还存在版本兼容问题,找不到某些类。求科普


© 著作权归作者所有

p2ng

p2ng

粉丝 48
博文 29
码字总数 13653
作品 0
广州
后端工程师
私信 提问
加载中

评论(3)

p
penkee
测试没什么输出 啊
p2ng
p2ng

引用来自“monical1”的评论

javax.validation 只是一个interface standard, 有很多厂商有实现,其中有名的有hibernate和spring
学习学习
monical1
monical1
javax.validation 只是一个interface standard, 有很多厂商有实现,其中有名的有hibernate和spring
spring boot项目使用(2)-- javax.validation

在上一篇文章中我们集成了swagger ui,搭建了一个restful风格的接口,当进行逻辑处理的时候,我们首先要做的想必一定是参数校验,这篇文章描述了使用javax.validation进行参数校验。 1.新建实...

LKD_Team
2018/05/15
0
0
SpringBoot基础教程2-1-7 数据验证-基础数据验证

概述 数据验证是企业应用开发中必备可少的环节,通常如果使用在业务代码中写死验证逻辑,会导致验证逻辑与业务逻辑耦合。 2. 不合理的验证方式 上述代码,如果需要修改验证,不为空且长度大于...

Mkeeper
2018/07/30
0
0
SpringBoot基础教程2-1-8 数据验证-自定义日期格式验证

1 概述 包与包中注解能满足大部分需求,但是还是有必要熟悉下自定义数据验证注解,如日期格式验证。 2 添加依赖 3 自定义注解 定义一个注解 ,指定校验类 ,失败提示信息 ,分组验证(后面介...

Mkeeper
2018/08/08
0
0
idea中springboot项目 javax.validation 类加载失败

idea中springboot项目 javax.validation 类加载失败,引入了

皖小生
2018/05/29
274
0
Spring 3.0.0 RC2 发布

Spring 3.0.0 RC2 刚刚发布,该版本包含很多的bug修复,同时支持 JSR 330 javax.inject 最终版以及 JSR-303 javax.validation API。 下载 Spring 3.0.0 RC2...

红薯
2009/11/14
388
0

没有更多内容

加载失败,请刷新页面

加载更多

centos7 新手阿里云服务器安装mongodb

简介 MongoDB 是一个基于分布式 文件存储的NoSQL数据库 由C++语言编写,运行稳定,性能高 旨在为 WEB 应用提供可扩展的高性能数据存储解决方案 MongoDB特点 模式自由 :可以把不同结构的文档存...

醉雨
25分钟前
1
0
sql注入漏洞,应屏蔽SQL注入攻击

注:SQL注入好比是前端URL传参数请求时参数以SQL 做为参数传入,如 select 1 from dual where 1=1 or 1=1 and 1=2;(类似这样的SQL语句) 防御方法 如果自己编写防注代码,一般是先定义一个函...

颜丽
25分钟前
2
0
装饰者模式

 代理模式与装饰者模式看起来很像,都实现基础对象实现的接口,在其自身对象中都保存着对被代理/被装饰者的对象引用。   先来看看装饰者模式的定义:动态的将责任附加到被装饰者对象上,用...

铁骨铮铮
30分钟前
0
0
我为什么飞行 10000 公里去西班牙参加 KubeCon?

2019 年 5 月 20 日至 23 日, 由 Cloud Native Computing Foundation (CNCF) 主办的云原生技术大会 KubeCon + CloudNativeCon EU(欧洲场)即将在热情洋溢的巴塞罗那盛装启幕。 作为云计算领...

zhaowei121
48分钟前
1
0
Node.getTextContent() not found 解决办法【不需要调整builder path下面包顺序】

新导入的工程,w3c的getTextContent找不到,response的setCharacterEncoding找不到,网上很多教程都是“调整工程builder path的lib包顺序把jre、tomcat调到上面即可”,但是进入项目的build...

嘿嘿嘿IT
55分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部