Commit 61a42ca0 by Patryk Czarnik

Wydobycie obiektów typu FieldError, aby wypisać szczegóły błędów

parent 76228886
......@@ -7,6 +7,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.validation.BindingResult;
import org.springframework.validation.FieldError;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
......@@ -85,6 +86,9 @@ public class ProductControllerAlt {
// W BindingResult znajdują się też informacje o błędach.
if(bindingResult.hasErrors()) {
model.addAttribute("errors", bindingResult.getAllErrors());
model.addAttribute("fieldErrors", bindingResult.getFieldErrors());
// FieldError fieldError = bindingResult.getFieldError("vat");
// System.out.println(fieldError.getDefaultMessage());
} else try {
productRepository.save(product);
System.out.println("Obiekt po zapisie: " + product.getId() + " " + product.getProductName());
......
......@@ -52,8 +52,17 @@
</div>
</c:if>
<c:if test="${not empty(fieldErrors)}">
<div style="border: 3px dotted red; background-color:white; color:red">
<ul>
<c:forEach var="error" items="${fieldErrors}">
<li><b>${error.field}</b> – wartość <code>${error.rejectedValue}</code> <i>${error.defaultMessage}</i></li>
</c:forEach>
</ul></div>
</c:if>
<c:if test="${saved}">
<div class="info">Zapisano produkt nr ${product.productId}</div>
<div class="info">Zapisano produkt nr ${product.id}</div>
</c:if>
<div class="action"><a href="/products">powrót do listy produktów</a></div>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment