Я использую Spring MVC для создания веб-приложения.
Моя пользовательская модель
public class User {
@NotNull(message="First name cannot be blank")
@Size(min=2, max=30, message="First name must be between 2 and 30 characters")
private String firstName;
@NotNull(message="Last name cannot be blank")
@Size(min=2, max=30, message="Last name must be between 2 and 30 characters")
private String lastName;
@NotNull(message="Email cannot be blank")
@Size(min=10, max=50, message="Email must be between 10 and 50 characters")
private String email;
@NotNull(message="Phone number cannot be blank")
@Size(min=10, max=11, message="Phone number must be between 10 and 11 characters")
private String phoneNum;
@NotNull(message="Username cannot be blank")
@Size(min=3, max=30, message="Username must be between 2 and 30 characters")
private String username;
@NotNull(message="Password cannot be blank")
@Size(min=5, max=50, message="Password must be between 5 and 50 characters")
private String password;
public User(String username, String password)
{
super();
this.username = username;
this.password = password;
}
/**
*
*/
public User() {
super();
}
/**
* @param firstName
* @param lastName
* @param email
* @param phoneNum
* @param username
* @param password
*/
public User(String firstName, String lastName, String email, String phoneNum, String username, String password) {
super();
this.firstName = firstName;
this.lastName = lastName;
this.email = email;
this.phoneNum = phoneNum;
this.username = username;
this.password = password;
}
Моя регистрация имеет форму ввода для всех этих полей, однако при входе в систему используются только имя пользователя и пароль.
Все поля обязательны для заполнения.
У меня есть форма входа в систему, чтобы использовать конструктор, который принимает имя пользователя и пароль. При отправке выполняется проверка данных для всех переменных модели пользователя.
LoginController:
@RequestMapping(path="login", method=RequestMethod.GET)
public ModelAndView displayLoginForm()
{
return new ModelAndView("login", "user", new User("", ""));
}
@RequestMapping(path="loginuser", method=RequestMethod.POST)
public ModelAndView loginUser(@Valid @ModelAttribute("user")User u, BindingResult result)
{
if(result.hasErrors())
{
return new ModelAndView("login", "user", u);
}
Можно ли заставить метод игнорировать все переменные, кроме имени пользователя и пароля?