簡體   English   中英

在Spring MVC中無需使用@Valid即可驗證POJO

[英]Validate a POJO without using @Valid in Spring MVC

我需要驗證POJO, 而無需將注解@Valid用作方法的參數。

我被困在這一點上:

    ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
    Validator validator = factory.getValidator();
    Set<ConstraintViolation<Menu>> constraintViolations=validator.validate(menu);
    //Menu is my Pojo

    if (!constraintViolations.isEmpty()) {
        Iterator itr = constraintViolations.iterator();
        while(itr.hasNext()){
            Object o = itr.next();
        }               
    }

似乎可行,因為在“ itr”內部,我有類似以下內容:

oConstraintViolationImpl{interpolatedMessage='size must be between 3 and 50', propertyPath=titolo, rootBeanClass=class com.springgestioneerrori.model.Menu, messageTemplate='{javax.validation.constraints.Size.message}'}

現在,我的問題是:如何向綁定結果中添加“ itr”值? 也許我應該投點什么...

謝謝

@Test
public void testBindingResult(BindingResult result,Set<ConstraintViolation<String>> violations){
    for (  ConstraintViolation<String> constraintViolation : violations) {
        ObjectError error=new ObjectError("object",constraintViolation.getMessage());
        result.addError(error);
    }
}

您應該創建ObjectError類型的對象, 是該類的春季文檔,應將其添加到綁定結果中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM