0
我創建了一個自定義約束驗證程序,該驗證程序在對象列表上工作。不幸的是,它似乎沒有被調用,當我有一個包含列表的註釋的包裝類時,它工作。未調用自定義彈簧驗證程序
這是工作的罰款
public class wrapper {
@ValidMyObjectList
List<MyObject> myObjects;
...
}
但現在我已經擺脫了包裝類,並添加註釋到控制器方法參數的代碼。
這裏的控制器
@RequestMapping(value = "", method = RequestMethod.POST)
public List<MyObject> stopCheque(
@ValidMyObjectList @RequestBody final List<MyObject> myObjects,
final HttpServletResponse httpServletResponse) {
....
}
這裏的約束註解
@Constraint(validatedBy = MyObjectListValidator.class)
@Retention(RetentionPolicy.RUNTIME)
@Target({ ElementType.FIELD, ElementType.PARAMETER })
public @interface MyObjectList {
Class<?>[] groups() default {};
String message() default "";
Class<? extends Payload>[] payload() default {};
}
和驗證器本身
public class MyObjectListValidator implements
ConstraintValidator<MyObjectList, List<MyObject>> {
@Override
public void initialize(final MyObjectList myObjectList) {
}
@Override
public boolean isValid(final List<MyObjectList> myObjectLists, final ConstraintValidatorContext cxt) {
...
}
將不勝感激任何幫助的一部分。由於