Введите описание изображения здесь Сообщения об проверке формы загрузки пружины, не отображающие, сохранение данных, несмотря на ошибки
и для деталей проблемы:
Моя форма включает поле имени со следующими ограничениями: < /p>
@NotBlank(message = "Name field should be required")
@Size(min = 2, max = 20, message = "Min 2 characters and max 20 characters allowed")
private String name;
Однако, когда я отправляю форму без ввода имени, сообщения проверки не отображаются. Вместо этого приложение продолжается с сохранением данных и бросает следующую ошибку: < /p>
Something went wrong! could not execute statement [Duplicate entry '' for key 'user.UKob8kqyqqgmefl0aco34akdtpe']
Вот мой метод контроллера:
@RequestMapping(value = "/do_register", method = RequestMethod.POST)
public String registerUser( @ModelAttribute("user")@Valid User user,BindingResult result,
@RequestParam(value = "agreement" ,
defaultValue = "false")boolean agreement,
Model model,HttpSession session)
{
try {
if(result.hasErrors()) {
System.out.println("Error "+result.toString());
model.addAttribute("user",user);
return "signup";
}
if(!agreement) {
System.out.println("You didn't accept the agreement");
throw new Exception("You didn't accept the agreement");
}
user.setRole("Role_User");
user.setEnabled(true);
user.setImageUrl("default.png");
System.out.println(agreement);
System.out.println(user);
User userResult = this.userRepository.save(user);
// return blank user
model.addAttribute("user",new User());
session.setAttribute("message", new Message("User successfully registered ! ","alert-success"));
return "signup";
// handling error here
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
model.addAttribute("user",user);
session.setAttribute("message", new Message("Something went wrong! "+e.getMessage(),"alert-danger"));
return "signup";
}
}
< /code>
Что я попробовал: < /h3>
[*] Проверка ). p>
Используется th: errors = "*{name}" для отображения ошибок.
проверял @valid < /code> правильно используется аннотация. < /p>
< /li>
< /ul>
Фронт-код < /p>
Your Name
Name error
Я попытался добавить аннотации валидации в моем объекте и использовал @valid с помощью BindingResult в моем контроллере. Я ожидал, что при отправке формы с пустым или недействительным именем будут отображаться сообщения о проверке, и форма не будет отправлена. Однако, вместо того, чтобы показывать сообщения об ошибках, форма проходит с подчинением, и я получаю исключение SQL из -за дубликата записи для пустого поля имени. < /P>
package com.ninja.entity;
import java.util.ArrayList;
import java.util.List;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import jakarta.persistence.CascadeType;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.FetchType;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import jakarta.persistence.OneToMany;
import jakarta.persistence.Table;
@Entity
@Table(name = "User")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int id;
@NotBlank(message = "Name field should be required")
@Size(min = 2, max = 20, message = "min 2 characters and max 20 characters allowed")
private String name;
@Column(unique = true)
private String email;
private String password;
private String role;
private Boolean enabled;
private String imageUrl;
@Column(length = 500)
private String about;
@OneToMany(cascade = CascadeType.ALL,fetch = FetchType.LAZY,mappedBy = "user") //cascade: if user deleted then all related contact related to user will be delete
private Listcontacts = new ArrayList();
Подробнее здесь: https://stackoverflow.com/questions/794 ... s-properly
Проверка формы загрузки пружины неправильно отображает сообщения об ошибках должным образом ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Проверка формы загрузки пружины неправильно отображает сообщения об ошибках должным образом
Anonymous » » в форуме JAVA - 0 Ответы
- 14 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Мобильный браузер Firefox на Android не отображает сообщения об ошибках проверки формы HTML
Anonymous » » в форуме Html - 0 Ответы
- 21 Просмотры
-
Последнее сообщение Anonymous
-