<!--引入依赖-->
<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.

自动检测实体类必填字段相关推荐

  1. html字段隐藏,HTML5+CSS3实现超酷登录窗口(自动隐藏默认文本及判断必填字段)

    内容介绍热点排行相关文章下载地址↓ 效果非常不错的登录窗口,输入框获取焦点后会自动隐藏默认文本,如果为空会提示必填字段 ,经测试,效果相当不错,感兴趣的朋友可以参考下哈 在网页head区添加以下代码 ...

  2. MyBatis入门实例-包括实体类与数据库字段对应CLOB字段处理

    1.我的开发环境是 jdk1.7+ecplise+oracle 11g 用到的jar包:mybatis-3.1.1.jar ojdbc6.jar 2.项目整体结构 3.首先配置conf.xml文件 [ ...

  3. jsf 自定义属性_必填字段的自定义JSF验证器

    jsf 自定义属性 实现EditableValueHolder接口的JSF组件具有两个属性" required"和" requiredMessage" –一个标 ...

  4. 必填字段的自定义JSF验证器

    实现EditableValueHolder接口的JSF组件具有两个属性" required"和" requiredMessage" –一个标志,指示用户需要输入 ...

  5. ajax必填项验证,jQuery验证 - 通过MVC2中的ajax动态添加必填字段

    我正在尝试在MVC2中的表单上使用jQuery验证.我正在使用期货项目中的MicrosoftMvcJQueryValidation.js. 首次加载表单时,它是代表ViewViewModel,并且有三 ...

  6. 根据Excel表的配置,自动生成数据库表的CRUD以及相关的Winform列表和编辑界面程序文件,接上篇(自动生成实体类)

    本文仍然属于一个自动生成代码工具. 上一篇我们根据数据库表的信息,自动生成实体类.cs文件.这次我们根据Excel配置,直接生成CRUD以及窗体列表和编辑界面相关的程序源文件. 通过自动生成代码,这样 ...

  7. IDEA中根据数据库自动生成实体类,并自定义所生成的实体类中的注解 @Table @Id @...

    使用IDEA项目添加Hibernate扩展,生成实体类并配置实体类中的注解 一.使用Hibernate自动生成实体类 1.在项目上右键,选择Add Framework Support找到 Hibern ...

  8. 实体类dao接口mysql_利用MyBatis生成器自动生成实体类、DAO接口和Mapping映射文件...

    解决问题: 可利用MyBatis生成器自动生成实体类.DAO接口和Mapping映射文件. 测试环境准备: 新建一个mysql数据库,例如mungerzTest. 生成一张主键为自增ID的学生表: C ...

  9. php写实体类,自动生成实体类(方式一)

    YMP框架自v1.0开始就支持通过数据库表结构自动生成实体类代码,所以v2.0版本不但重构了实体代码生成器,而且更简单好用! #------------------------------------ ...

最新文章

  1. Android无法访问本地服务器(localhost)的解决方案
  2. Python 词典增加和删除
  3. 对数线性模型之一(逻辑回归), 广义线性模型学习总结
  4. Web APP开发技巧总结(转)
  5. 代码好味道、坏味道与重构
  6. 《MYSQL必知必会》— 14~17.子查询、联结、高级联结、组合查询
  7. 反编译获取任何微信小程序源码
  8. windows内核和Linux内核区别
  9. R语言--Apriori关联分析
  10. 一千万的股票能一天卖出吗
  11. 【MyBatis错误集】--lineNumber: 132; columnNumber: 28; 元素类型 insert 必须后跟属性规范 或 /
  12. SpringBoot 接口数据加解密实战
  13. matlab 三维立体图,利用matlab将三维数据画成三维立体图
  14. 周期为“2L“的函数展开为傅里叶级数
  15. 栖息谷访谈-与佛结缘,访钟声悠扬DEEPLIN
  16. 计算机模拟实验的关系,试说明数值模拟方法的特点,它与理论研究,实验研究有什么关系...
  17. 【Leetcode 3】无重复字符的最长子串
  18. 中专学计算机室内设计,室内设计专业在中职教育学校中的发展潜力
  19. 小程序之战,泡沫之后鹿死谁手?
  20. JAVA 进制转换工具类 10进制转16进制 10进制转2进制 16进制转2进制 16进制10进制 2进制转10进制 2进制转16进制

热门文章

  1. java开发选 e3v3 i5,【选CPU必看】i5、E3、i7之间的区别以及到底怎么选?干货!
  2. 【VMware】VMware Pro16 使用 Ubuntu18.04,从零配置基础环境
  3. 论文|谷歌推出最新“手机版”视觉应用的卷积神经网络—MobileNets
  4. linux安装fcitx中文输入法,解决没有候选项的问题(debian10)
  5. 电工学学习笔记---时间常数部分
  6. Wolfram Mathematica 12教材
  7. 专家解读:人工智能是魔鬼还是天使?
  8. matlab语音停止程序,MATLAB语音信号处理程序
  9. Range - 获取光标位置
  10. CMake - 教程推荐 - 《CMake 菜谱 中文版》