表单验证的问题

来源:6-10 买家订单-api_A

慕少5484272

2018-07-09

先贴代码:

@Data
public class EditSolutionForm {

    @NotNull(message = "ID编号必传")
    private Long id;

    @NotEmpty(message = "方案名称必传")
    private String name;

    @NotEmpty(message = "返利类型必传")
    private String type;

    @NotEmpty(message = "产品编号必传")
    private String productId;

    @NotEmpty(message = "是否为默认方案必传")
    private String isDefault;

    @NotEmpty(message = "用户必传")
    private String users;

    //这里麻爪了
    @Valid
    @NotEmpty(message = "方案详情必传")
    private List<DetailForm> details;
}

另一个类:

@Data
public class DetailForm {

    private Long id;

    @NotNull(message = "返利级别不能为空")
    private Integer level;

    @DecimalMin(value = "0", message = "返利值不能为负数")
    private BigDecimal value;
}

好了,代码基本就这样,我需要在验证第一个类的时候验证到列表就逐一的去验证第二个类,我在网上查了好多资料也没有解决。请老师帮我出出主意,诚谢。

参数:

{
	"id": 5,
	"name": "测试方案名称",
	"type": "amount",
	"productId": "xxxx-xxxx-xxxxx",
	"isDefault": "yes",
	"users": "123,122,121,120",
	"details":[{"id":4, "level": 3, "value":5},{"level": 1, "value":20}]
}


写回答

1回答

廖师兄

2018-07-09

注解验证不是万能的。复杂的验证,像你这样的,你就在代码里判断吧。

0
0

Spring Boot双版本(1.5/2.1) 打造企业级微信点餐系统

从0到1开发中小型企业级Java应用,并学会迭代重构技巧

6410 学习 · 5247 问题

查看课程