In MVC (sto usando Spring, anche se non è rilevante per la discussione) ho un modello seguente:
public class User {
private Long userId;
private String username;
private String password;
private String passwordRepeat;
private String email;
private boolean rememberLogin;
/// ctors, setters and getters [...]
}
Questo modello viene utilizzato durante la registrazione e il login e quindi contiene una somma di campi per entrambi gli scopi. In particolare - passwordRepeat
non è completamente rilevante durante il login e viceversa - rememberLogin
non è utilizzato durante la registrazione. Tutto andava bene fino a quando ho iniziato ad aggiungere la validazione (javax.validation) come annotazione ai campi. Ad esempio voglio mettere i vincoli su passwordRepeat
in modo che non sia nullo e con un determinato intervallo di dimensioni, tuttavia sarà inevitabilmente nullo durante la convalida dell'accesso.
Un modello come questo che serve a molteplici scopi può essere suddiviso in più oggetti (ad esempio: UserLoginData, UserRegistrationData e User) o esiste un modo migliore per avvicinarsi a questo?