sal*_*gaf 5 hibernate-validator bean-validation
我想将某些字段视为可选字段,如果值为 null 或空白,则不要检查其他带注释的约束。有一些方法可以实现它!阅读此步骤Java bean 验证:仅当属性不为空时才强制执行 @Pattern似乎不能满足我的需求。下面举个例子来解释我的意思:
public class Test {
@Max(value=100) <--mandatory
private int parA;
@Optional <-Custom annotation telling "do not check other if null or blank"
@Range(min=10, max=200)
private int parB;
...
Run Code Online (Sandbox Code Playgroud)
}
小智 7
现在你可以!
public Optional<@Size(min=1, max=128) String> first_name = Optional.empty();
Run Code Online (Sandbox Code Playgroud)
你不能用 Bean Validation 做你想做的事。您无法在属性上的两个约束之间建立“连接”。另外,如果我理解正确的话,您的@Optional甚至不是约束注释,而只是标记注释。但请注意,所有默认约束都是以约束验证空值的方式实现的。所以在大多数情况下,无论哪种方式你都会得到你想要的。在您的示例中,您还遇到了处理原始 int 的问题。这将始终有一个值,因此范围约束将以任何一种方式进行评估。
| 归档时间: |
|
| 查看次数: |
5224 次 |
| 最近记录: |