使用Value Object进行Spring MVC表单验证

时间:2014-08-29 10:54:09

标签: spring hibernate validation value-objects

在执行Spring MVC + Hibernate验证时,ValueObject正在创建一个问题。我不允许直接在控制器中使用我的实体对象,因此为每个实体创建了ValueObject。

但现在我需要验证,我需要将@Valid注释直接映射到我的控制器中的Entity,这是我不允许的。所以,我需要使用ValueObject验证我的实体。

这是我的控制器方法:

@RequestMapping(value = "/saveOperatorDetails", method = RequestMethod.POST)
public String saveOperatorDetails(@ModelAttribute("operatorDetails") @Valid OperatorVO operatorVO,  BindingResult result) {

    if (result.hasErrors()) {
        return "admin.operator.registeroperator";
    }
}

现在,如果我使用我的实体,Operator我的验证是成功的。

但ValueObjec(VO)无法直接验证Hibernate实体。现在,我该怎么做才能将ValueObject映射到Entity

1 个答案:

答案 0 :(得分:0)

所以我想到的是,验证@Valid指的是我的OperatorVO。因此,我没有验证我的Entity,而是验证了我的ValueObject

但是现在,我正在验证我的VO而不是我的实体。这是一个好习惯吗?我不这么认为。如果有人给你答案,请随意发一个。谢谢!