Spring @Validated - 具有超值集

Spring @Validated - with a super set of values

我有一个用户输入映射 class,它有一个布尔对象:

...
    @ApiModelProperty(value = "Approval Status")
    @NotNull(message = "{workspace.isApproved.notNull}")
    private Boolean isApproved;
...

从前端如果用户发送 123 作为 isApproved 的值,它会将其转换为 true,我想做的是将值限制为 01 即,如果从前端发送任何其他值,则应该存在验证错误。

如果它是您要指定的整数范围,请尝试查看 @Min@Max 注释。如果只有这两个值,你也可以简单地有一个正则表达式。

例如:

@Pattern(regexp = "(0|1)")
private String testField;

您可以使用 Java Bean Validation。查看 documentation 您可以使用以下字段(或方法或 class)级别注释:

  • @Max(1)
    @Min(0)
    private Boolean isApproved;
    
  • @Pattern(regexp="(0|1)")
    private Boolean isApproved;
    

这些约束在包下可用:javax.validation.constraints