controller如下:
public Objects flights(@RequestBody @Valid AForm aForm){
return null;
}
Form如下:
public class AForm {
@NotNull(message = "数据更新时间必选")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss.SSS")
private Date updateTime;
private List<ASubForm> updateList;
}
public class ASubForm {
@NotBlank(message = "航班号必选")
private String FlightNumber;
@NotBlank(message = "航班日期必选")
private String FlightDate;
@NotBlank(message = "离港机场必选")
private String DepAirport;
@NotBlank(message = "目的机场必选")
private String ArrAirport;
}
问题:
controller调用的时候只有外层的updateTime有提示数据更新时间必填,航班号航班日期等为空都不进行校验。
解决方案:
修改AForm,在list对象上加上注解 @Valid就能正常校验了
public class AForm {
@NotNull(message = "数据更新时间必选")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss.SSS")
private Date updateTime;
@Valid
private List<ASubForm> updateList;
}
版权声明:本文为Tanganling原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。