簡體   English   中英

春季表單驗證行動 5

[英]form validation in spring in action 5

我在 github 上關注spring in action 5的源代碼,我編寫了自己的版本。 當我將名稱留空並提交時,我得到了這樣的錯誤頁面

在此處輸入圖片說明

並且控制台輸出是: Field error in object 'taco' on field 'name': rejected value [];

但正確的頁面是這樣的: taco 設計頁面,名稱文本框周圍帶有警告消息

這是我的代碼:

設計.html

 <label>give it a name:</label>

 <input type="text" th:field="*{name}">

  <span class="validationError"
      th:if="${#fields.hasErrors('name')}"
      th:errors="*{name}">Name Error</span>

設計控制器.java

    @PostMapping
    public String postTaco(@Valid Taco taco, Order order, Errors errors) {
        if (errors.hasErrors()){
            return "design";
        }

        Taco taco1 = tacoRepo.save(taco);
        order.addDesign(taco1);
        return "order";
    }


玉米卷

@Size(min=5, message = "at least 5 characters")
private String name;

問題出在哪兒

設計控制器.java

    @PostMapping
    public String postTaco(@Valid Taco taco, Order order, Errors errors) {
        if (errors.hasErrors()){
            return "design";
        }

        Taco taco1 = tacoRepo.save(taco);
        order.addDesign(taco1);
        return "order";
    }

解決方案:

    @PostMapping
    public String postTaco(@Valid Taco taco, Errors errors, Order order) {
        if (errors.hasErrors()){
            return "design";
        }

        Taco taco1 = tacoRepo.save(taco);
        order.addDesign(taco1);
        return "order";
    }

結論g:

參數Erroes errors必須隱藏有效的對象參數,這里是Taco taco

暫無
暫無

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

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