@NotBlank(message = "userCategory is missing")
@Pattern(regexp = "Single|Married", message = "userCategory is invalid")
private String userCategory;
目前,当验证发生时,当我为userCategory提供一个空格/空白值时,它会给我两个错误消息。
"errors": [
{
"message": "userCategory is missing"
},
{
"message": "userCategory is invalid"
}
]
我想抛出一个缺失值,如果它是空白/空白,并且不希望在空值或空白的情况下出现无效错误。我想说userCategory是无效的,只有当输入了一些无效的东西,如abddd而不是Single或Married时,除了空白/空白值之外的东西具有无效值。
当userCategory为空或键入空格时,我期待出现类似下面的错误消息。
"errors": [
{
"message": "userCategory is missing"
}]
1条答案
按热度按时间lztngnrs1#
@Pattern
将忽略null
值,但对于空值,我认为最简单的选择是在模式中接受空值。另一个选择是使用一个组合约束,在这里您禁用默认消息并添加您自己的消息(注意
@ReportAsSingleViolation
注解)。最后一个选项是实现您自己的验证器,在这种情况下,您对验证过程和验证消息有充分的灵活性。
来自Hibernate团队的Marko在Hibernate博客上写了一篇非常完整的博文:https://in.relation.to/2017/03/02/adding-custom-constraint-definitions-via-the-java-service-loader/。