springmvc数据校验问题

fgod 发布于 2017/02/10 18:15
阅读 286
收藏 0

        我的目的是想实现对接收model中含有list集或者别的vo对象时,也能够校验其内部的字段。

        但是目前执行时,只能对继承的主vo进行校验,无法对其list中的每个对象校验,也不能对dto中加入的单个vo对象内部字段校验,有没有什么好的方法能办到都一起校验了呢?

         需求上是对主订单,多个广告,档期都需要对参数进行校验的,mvc校验实现不了,代码上也必须走。代码下方。。

        望各位大神指点!!

//dto:接口接受数据model
public class OrdersAddModel extends Orders{
    
    @NotEmpty(message = "请选择广告位!")
    List<OrderADSpace> orderADSpaces;
   
    OrderShowDateModel orderShowDate;//订单总的一个档期,只有一个

    List<Integer> ids;
}
//vo:主订单
public class Orders extends BaseModel implements Serializable {
    //订单基本属性校验。。
    @NotNull(message = "s!")
    @Column(name = "OrderInCompanyId")
    private Integer orderInCompanyId;
    @NotNull(message = "s!")
    @Column(name = "OrderInCompanyType")
    private Integer orderInCompanyType;
}
//广告list中广告位vo
public class OrderADSpace extends BaseModel implements Serializable {
    //广告位校验,广告位一些属性必填。。
    @NotNull(message = "s!")
    @Column(name = "OrderId")
    private Integer orderId;
    @NotNull(message = "s!")
    @Column(name = "MediaId")
    private Integer mediaId;
   
}
//订单档期vo
public class OrderShowDate extends BaseModel implements Serializable {
    //档期校验:开始和结束时间必填..
    @Column(name = "OrderId")
    @NotNull(message = "s!")
      private Integer orderId;
    @Column(name = "StartDate")
    @NotNull(message ="s..")
      private Date startDate;
    @Column(name = "EndDate")
    @NotNull(message ="s..")
      private Date endDate;
}

controller:
public String addOrder(@Valid @RequestBody  OrderUpdateModel model,
                       BindingResult errorsResult){
       //数据校验  
       if(errorsResult.hasErrors()) {
            return  returnFieldErrors(errorsResult);
       }
}
加载中
0
Charkey
Charkey

https://my.oschina.net/diamondfsd/blog/840504

来,看这个。

返回顶部
顶部