自动检测实体类必填字段
<!--引入依赖-->
<dependency><groupId>org.hibernate.validator</groupId><artifactId>hibernate-validator</artifactId><version>6.1.5.Final</version>
</dependency>
import javax.validation.ConstraintViolation;
import javax.validation.Validation;
import javax.validation.Validator;
import javax.validation.ValidatorFactory;//校验实体类
public static<T> String classMustIsNot(T t){try {ValidatorFactory factory= Validation.buildDefaultValidatorFactory();Validator validator=factory.getValidator();Set<ConstraintViolation<T>> constraintValidators=validator.validate(t);Iterator<ConstraintViolation<T>> iterator = constraintValidators.iterator();ConstraintViolation<T> next = iterator.next();String message = next.getMessage();return message+"不能为空";} catch (Exception e) {return "校验通过";}
}
import lombok.Data;
import javax.validation.constraints.NotBlank;//实体类
@Data
public class Test {@NotBlank(message = "num")private String num;@NotBlank(message = "message")private String message;private String abc;
}
//测试代码public static void main(String[] args) {Test test = new Test();test.setNum("123");test.setMessage("一二三");test.setAbc("");String returnStr = classMustIsNot(test);System.out.println("============"+returnStr+"============");}
运行结果
//测试代码public static void main(String[] args) {Test test = new Test();test.setNum("123");test.setMessage("");test.setAbc("");String returnStr = classMustIsNot(test);System.out.println("============"+returnStr+"============");}
运行结果
@NotNull:不能为null,但可以为empty,一般用在基本数据类型的非空校验上,而且被其标注的字段可以使用 @size/@Max/@Min对字段数值进行大小的控制.
@NotEmpty:不能为null,而且长度必须大于0,一般用在集合类上面
@NotBlank:只能作用在String类型的属性上,不能为null,而且调用trim()后,长度必须大于0.
自动检测实体类必填字段相关推荐
- html字段隐藏,HTML5+CSS3实现超酷登录窗口(自动隐藏默认文本及判断必填字段)
内容介绍热点排行相关文章下载地址↓ 效果非常不错的登录窗口,输入框获取焦点后会自动隐藏默认文本,如果为空会提示必填字段 ,经测试,效果相当不错,感兴趣的朋友可以参考下哈 在网页head区添加以下代码 ...
- MyBatis入门实例-包括实体类与数据库字段对应CLOB字段处理
1.我的开发环境是 jdk1.7+ecplise+oracle 11g 用到的jar包:mybatis-3.1.1.jar ojdbc6.jar 2.项目整体结构 3.首先配置conf.xml文件 [ ...
- jsf 自定义属性_必填字段的自定义JSF验证器
jsf 自定义属性 实现EditableValueHolder接口的JSF组件具有两个属性" required"和" requiredMessage" –一个标 ...
- 必填字段的自定义JSF验证器
实现EditableValueHolder接口的JSF组件具有两个属性" required"和" requiredMessage" –一个标志,指示用户需要输入 ...
- ajax必填项验证,jQuery验证 - 通过MVC2中的ajax动态添加必填字段
我正在尝试在MVC2中的表单上使用jQuery验证.我正在使用期货项目中的MicrosoftMvcJQueryValidation.js. 首次加载表单时,它是代表ViewViewModel,并且有三 ...
- 根据Excel表的配置,自动生成数据库表的CRUD以及相关的Winform列表和编辑界面程序文件,接上篇(自动生成实体类)
本文仍然属于一个自动生成代码工具. 上一篇我们根据数据库表的信息,自动生成实体类.cs文件.这次我们根据Excel配置,直接生成CRUD以及窗体列表和编辑界面相关的程序源文件. 通过自动生成代码,这样 ...
- IDEA中根据数据库自动生成实体类,并自定义所生成的实体类中的注解 @Table @Id @...
使用IDEA项目添加Hibernate扩展,生成实体类并配置实体类中的注解 一.使用Hibernate自动生成实体类 1.在项目上右键,选择Add Framework Support找到 Hibern ...
- 实体类dao接口mysql_利用MyBatis生成器自动生成实体类、DAO接口和Mapping映射文件...
解决问题: 可利用MyBatis生成器自动生成实体类.DAO接口和Mapping映射文件. 测试环境准备: 新建一个mysql数据库,例如mungerzTest. 生成一张主键为自增ID的学生表: C ...
- php写实体类,自动生成实体类(方式一)
YMP框架自v1.0开始就支持通过数据库表结构自动生成实体类代码,所以v2.0版本不但重构了实体代码生成器,而且更简单好用! #------------------------------------ ...
最新文章
- Android无法访问本地服务器(localhost)的解决方案
- Python 词典增加和删除
- 对数线性模型之一(逻辑回归), 广义线性模型学习总结
- Web APP开发技巧总结(转)
- 代码好味道、坏味道与重构
- 《MYSQL必知必会》— 14~17.子查询、联结、高级联结、组合查询
- 反编译获取任何微信小程序源码
- windows内核和Linux内核区别
- R语言--Apriori关联分析
- 一千万的股票能一天卖出吗
- 【MyBatis错误集】--lineNumber: 132; columnNumber: 28; 元素类型 insert 必须后跟属性规范 或 /
- SpringBoot 接口数据加解密实战
- matlab 三维立体图,利用matlab将三维数据画成三维立体图
- 周期为“2L“的函数展开为傅里叶级数
- 栖息谷访谈-与佛结缘,访钟声悠扬DEEPLIN
- 计算机模拟实验的关系,试说明数值模拟方法的特点,它与理论研究,实验研究有什么关系...
- 【Leetcode 3】无重复字符的最长子串
- 中专学计算机室内设计,室内设计专业在中职教育学校中的发展潜力
- 小程序之战,泡沫之后鹿死谁手?
- JAVA 进制转换工具类 10进制转16进制 10进制转2进制 16进制转2进制 16进制10进制 2进制转10进制 2进制转16进制
热门文章
- java开发选 e3v3 i5,【选CPU必看】i5、E3、i7之间的区别以及到底怎么选?干货!
- 【VMware】VMware Pro16 使用 Ubuntu18.04,从零配置基础环境
- 论文|谷歌推出最新“手机版”视觉应用的卷积神经网络—MobileNets
- linux安装fcitx中文输入法,解决没有候选项的问题(debian10)
- 电工学学习笔记---时间常数部分
- Wolfram Mathematica 12教材
- 专家解读:人工智能是魔鬼还是天使?
- matlab语音停止程序,MATLAB语音信号处理程序
- Range - 获取光标位置
- CMake - 教程推荐 - 《CMake 菜谱 中文版》