簡體   English   中英

Spring MVC和JSR 303

[英]Spring MVC and JSR 303

我正在使用Spring 3和JSR 303.我有一個表單支持對象,其嵌套對象需要進行驗證。 在下面的示例中,如何驗證formObject.getFoo()。getBean()? 當我運行下面的代碼時,結果參數始終為空,即使HTML頁面沒有提交任何內容,驗證失敗時也是如此。 請注意,當我通過調用validate(formObject.getFoo().getBean(), Bean.class)手動驗證它時,它可以工作(即驗證失敗validate(formObject.getFoo().getBean(), Bean.class)

@Controller
public class FormController {
    @RequestMapping(method = RequestMethod.POST)
    public void process(HttpServletRequest request, @Valid FormObject formObject, BindingResult result) {
            ...
    }

    // This is the class that needs to be validated.
    public class Bean {
        @NotBlank
        private String name;
    }

    public class Foo {
        private Bean bean;
    }

    public class FormObject {
        private Foo foo;
    }
}

如果要將驗證級聯到子對象,則必須將@Valid注釋放在父對象的字段中:

public class Bean {
    @NotBlank
    private String name;
}

public class Foo {
    @Valid
    private Bean bean;
}

public class FormObject {
    @Valid
    private Foo foo;
}

暫無
暫無

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

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