我使用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无效,因此不检查第二组和第三组. …