小编eck*_*lcn的帖子

如何设置JSR303 bean验证的检查顺序

我使用JSR303 Bean Validation来检查表单输入.

@NotBlank
@Size(min = 4, max = 30)
private String name;

@NotBlank
@Size(max = 100)
@Email
private String mail;
Run Code Online (Sandbox Code Playgroud)

当name =''和email =''时,将检查@NotBlank,@ Size at name,@ NotBlank,@ Size,@ Email的邮件.

我想设置检查顺序,例如,当前一个订单无效时,不检查下一个订单.

@NotBlank(order = 1)
@Size(min = 4, max = 30, order = 2)
private String name;
Run Code Online (Sandbox Code Playgroud)

(以上不是JSR303的支持)

有没有办法实现它使用JSR303?(我认为自定义注释将完成,但我不想为每个属性添加自定义注释)

我也考虑了验证组和组序列,但我认为我的需求有所不同.

@NotBlank(groups = First.class)
@Size(min = 4, max = 30, groups = Second.class)
private String name;

@NotBlank(groups = First.class)
@Size(max = 100, groups = Second.class)
@Email(groups = Third.class)
private String mail;
Run Code Online (Sandbox Code Playgroud)

当名称为空并且邮件为"abc"时.JSR303仅检查名称上的@NotBlank和邮件中的@NotBlank,因为名称上的@NotBlank无效,因此不检查第二组和第三组. …

validation bean-validation

5
推荐指数
1
解决办法
7448
查看次数

标签 统计

bean-validation ×1

validation ×1