• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Spring mvc walidacja

Cloud VPS
0 głosów
733 wizyt
pytanie zadane 26 marca 2018 w Java przez LockeLamora Użytkownik (740 p.)
zmienione kategorie 26 marca 2018 przez LockeLamora

Dlaczego po walidacji nie dostaje błędu w polu email? Mam adnotacje @NotEmpty i @Email

 

<form action="#" method="post" th:action="@{/register}" th:object="${user}">

    <p th:if="${#fields.hasErrors('username')}" th:errors="*{username}" >error</p>
    <p>Username: <input type="text" th:field="*{username}"/></p>

    <p th:if="${#fields.hasErrors('password')}" th:errors="*{password}">error</p>
    <p>Password: <input type="password" th:field="*{password}"/></p>

    <p th:if="${#fields.hasErrors('userDetails.email')}" th:errors="*{userDetails.email}">error</p>
    <p>Email: <input type="email" th:field="*{userDetails.email}"/></p>

    <p>First Name: <input type="text" th:field="*{userDetails.firstName}"/></p>
    <p>Last Name: <input type="text" th:field="*{userDetails.lastName}"/></p>
    <br>
    <input type="submit" value="Register">
</form>

 

@PostMapping("/register")
    public String addNewUser(@Valid @ModelAttribute User user, BindingResult result) {
        if (result.hasErrors()) {
            List<ObjectError> errors = result.getAllErrors();
            errors.forEach(err -> System.err.println("ERROR: " + err.getDefaultMessage()));
            return "register";
        } else {
            return "home";
        }
    }

https://i.imgur.com/pz1GT2d.png

komentarz 26 marca 2018 przez Mariusz08 Maniak (62,280 p.)
Zła kategoria pytania.
komentarz 26 marca 2018 przez Pablo93 Użytkownik (800 p.)

@LockeLamora,

Hej nie znam odpowiedzi ale mógłbyś napisać z jakiego poradnika uczysz się spring mvc ?

komentarz 27 marca 2018 przez LockeLamora Użytkownik (740 p.)
Z javastart.pl i kursu z udemy.

1 odpowiedź

0 głosów
odpowiedź 27 marca 2018 przez Javowiec Pasjonat (21,560 p.)
edycja 27 marca 2018 przez Javowiec
 
Najlepsza

Oznacz pole userDetails klasy User adnotacją @Valid:

@Valid
private UserDetails userDetails;

Adnotacja @Valid na parametrze user metody addNewUser, waliduje pola obiektu user oznaczone odpowiednimi adnotacjami. Skoro nie oznaczyłeś żadną adnotacją pola userDetails, nie jest ono walidowane.

Podobne pytania

0 głosów
2 odpowiedzi 904 wizyt
–3 głosów
1 odpowiedź 498 wizyt
pytanie zadane 14 lipca 2018 w Java przez Tomek Reda Obywatel (1,110 p.)
0 głosów
0 odpowiedzi 255 wizyt
pytanie zadane 8 lipca 2017 w Java przez Jonki Dyskutant (8,180 p.)

93,459 zapytań

142,454 odpowiedzi

322,724 komentarzy

62,837 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...