有没有办法在@NotEmpty
不编写自定义验证的情况下实现休眠验证?javax.validation 包不包含此注解。只有@NotNull
. 但它不验证非空但为空的值。所以我想看看@NotEmpty
.
使用@Pattern
? 如何?
有没有办法在@NotEmpty
不编写自定义验证的情况下实现休眠验证?javax.validation 包不包含此注解。只有@NotNull
. 但它不验证非空但为空的值。所以我想看看@NotEmpty
.
使用@Pattern
? 如何?
NotEmpty 只是@NotNull
和的组合@Size(min=1)
。
请注意,@NotEmpty 将对包含 null 元素的 List<> 返回有效。
在@QueryParam List<> 的情况下有点奇怪
正如 Affe 所说,我做了一个自定义注释,它本身用 @NotNull 和 @Size(min=1) 注释,并带有一个自定义验证器,它迭代集合并仅在元素不为空时定位一个布尔标志。
在@NotEmpty
Hibernate 6 之后的 Hibernate 源代码中,它告诉我们使用标准javax.validation.constraints.NotEmpty
约束来代替:
/**
* Asserts that the annotated string, collection, map or array is not {@code null} or empty.
*
* @author Emmanuel Bernard
* @author Hardy Ferentschik
*
* @deprecated use the standard {@link javax.validation.constraints.NotEmpty} constraint instead
*/
这个新注解来自 Bean Validation 2.0 (JSR 380)。看:
对于 Hibernate,它在较新的版本中已被弃用。
使用较新版本的 Javax 验证,它具有@Empty
利用
import javax.validation.constraints.NotEmpty;
@NotEmpty
private List<Record> records;