簡體   English   中英

我可以在不使用注釋的情況下驗證 spring mvc 中的表單嗎?

[英]Can I validate a form in spring mvc without using anotation?

我在 Internet 上閱讀了一些關於 Spring MVC 中的表單驗證的文檔。 而且我不知道如果我只使用 Java 核心代碼會發生什么(不要使用注釋和諸如 BindingResult、hasError()...)之類的東西進行驗證)。 是否有任何約定我們必須使用注釋進行驗證。 例如,我在 Controller 類中使用 Java 核心代碼:

    @RequestMapping("/login")
    public String showLogin(@ModelAttribute("member") Member member, Model model) {
       if("".equals(member.getUsername()){
           model.addAttribute("error", "username is empty");
       }
       return "login";
    }

然后我在我的 login.jsp 文件中顯示錯誤。

我是一個新的java web 開發人員,請給我解釋一下。

您可以不使用注釋,但我相信這就像花很長的路要走,因為注釋是為了簡化驗證過程。

有 JSR 380 規范,它極大地簡化了您的驗證工作。

請閱讀: https ://www.baeldung.com/javax-validation

了解了 javax 驗證是什么之后,您可以直接在您的 java 類中實現驗證,並且在控制器中您可以使用 @Valid 進行驗證,如下例所示:

@RequestMapping("/login")
public String showLogin(@Valid Member member, Errors errors, Model model) {
   if(errors.hasErrors()) {
        return "login";
    }
   return "login";
}

這樣,spring 將驗證您的“成員”類,如果它包含任何錯誤,它將向頁面返回錯誤消息。

暫無
暫無

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

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