Commit 31b1dde1 by Patryk Czarnik

Adnotacji @Valid

parent a46d1d0f
...@@ -13,6 +13,7 @@ import org.springframework.web.bind.annotation.PostMapping; ...@@ -13,6 +13,7 @@ import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.ResponseBody;
import jakarta.validation.Valid;
import sklep.model.Product; import sklep.model.Product;
import sklep.repository.ProductRepository; import sklep.repository.ProductRepository;
import sklep.util.PhotoUtil; import sklep.util.PhotoUtil;
...@@ -93,7 +94,9 @@ public class ProductController { ...@@ -93,7 +94,9 @@ public class ProductController {
@PostMapping({"/{id}/edit", "/new"}) @PostMapping({"/{id}/edit", "/new"})
// Ta metoda zapisuje dane przysłane z formularza obojętnie, czy to było edit, czy new // Ta metoda zapisuje dane przysłane z formularza obojętnie, czy to było edit, czy new
public String saveProduct(Product product) { // Adnotacja @Valid powoduje, że Spring dokona walidacji obiektu PRZED uruchomieniem tej metody.
// Jeśli nie ma dodatkowego parametru BindingResult, a są błędy walidacji, to Spring naszej metody w ogóle nie uruchomi.
public String saveProduct(@Valid Product product) {
// W tej wersji dane z wypełnionego formularza odbieramy w postaci jednego obiektu Product. // W tej wersji dane z wypełnionego formularza odbieramy w postaci jednego obiektu Product.
// Spring sam wpisze dane do pól o takich samych nazwach. // Spring sam wpisze dane do pól o takich samych nazwach.
// Taki parametr od razu staje się częścią modelu (to jest tzw. ModelAttribute) // Taki parametr od razu staje się częścią modelu (to jest tzw. ModelAttribute)
......
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