1、@Validated注解加value可以指定分组,这样颗粒度更细一些,我们只要在想限制的属性上同时指定分组的名字即可,addContractManagement.class这个名字可以随意写,是和实体类关联的,他俩一样即可,ItopsContractManagement这个是实体类
public AjaxResult addContractManagement(@Validated(value = ItopsContractManagement.addContractManagement.class)
@RequestBody ItopsContractManagement itopsContractManagement) throws Exception{
}
2、实体类中相关信息
public class ItopsContractManagement extends BaseEntity
{
@Valid
@NotEmpty(message = "付款信息不能为空", groups = {addContractManagement.class})//这个就是和上层接口一样的名字了
private List<PaymentInformationVo> paymentInformationVoList;//集合属性
public interface addContractManagement{}//value指定以后,这个就会生成一个接口
}
3、集合实体里面属性的限制
public class PaymentInformationVo implements Serializable {
/** 模块名称 */
@NotBlank(message = "模块名称不能为空", groups = {ItopsContractManagement.addContractManagement.class})//这个地方也指定好哪个分类的限制
private String moduleName;
/** 每个模块金额 */
@NotNull(message = "金额不能为空", groups = {ItopsContractManagement.addContractManagement.class})
private BigDecimal amount;
}