@NotNull,@NotBlank和 @NotEmpty使用
Posted coloz
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了@NotNull,@NotBlank和 @NotEmpty使用相关的知识,希望对你有一定的参考价值。
1.实体类
package com.example; import org.hibernate.validator.constraints.NotBlank; import org.hibernate.validator.constraints.NotEmpty; import javax.validation.constraints.NotNull; import java.util.List; /* @NotNull 验证对象是否不为null, 无法查检长度为0的字符串 @NotBlank 检查约束 (字符串) 是不是Null还有被Trim的长度是否大于0,只对字符串,且会去掉前后空格. @NotEmpty 检查(集合)约束元素是否为NULL或者是EMPTY. ********上面导入的是两个包****** */ public class Student { @NotNull(message = "用户ID不能为空") private Long userID; @NotEmpty(message = "地址不能为空") private List<String> addressID; @NotBlank(message = "备注不能为空") private String comment; public Student() { } public Long getUserID() { return userID; } public void setUserID(Long userID) { this.userID = userID; } public List getAddressID() { return addressID; } public void setAddressID(List addressID) { this.addressID = addressID; } public String getComment() { return comment; } public void setComment(String comment) { this.comment = comment; } @Override public String toString() { return "Order{" + "userID=" + userID + ", addressID=" + addressID + ", comment=‘" + comment + ‘‘‘ + ‘}‘; } }
2.Controller
@RequestMapping("/create") @ResponseBody public String create(@RequestBody @Valid Student dto, BindingResult results) { if (results.hasErrors()) { return results.getFieldError().getDefaultMessage(); } return dto.toString(); }
3.postman测试
json对象
{
"addressID":["address1","address2","address3"],
"comment":"备注...",
"userID":100
}
总结: 1.注意注解引用的包不一样
2. @NotEmpty 用在集合类上面
@NotBlank 用在String上面
@NotNull 用在基本类型上
以上是关于@NotNull,@NotBlank和 @NotEmpty使用的主要内容,如果未能解决你的问题,请参考以下文章
在 Hibernate Validator 4.1+ 中,@NotNull、@NotEmpty 和 @NotBlank 有啥区别?
@NotEmpty@NotNull 和 @NotBlank 的区别
@NotNull,@NotEmpty,@NotBlank区别
后端验证:@NotNull、 @NotBlank、 @length
Bean Validation @NotNull、@NotBlank 和 @NotEmpty 在 JSF+Tomcat 中不起作用