I have some doubt about how to use validation annotation. I'm changing my code to make it more readable and maintainable.
I started from an action where I had all setters with annotation and i put data in a private local variable
ex.
private String email;
@RequiredStringValidator(key="fieldError.required", message = "*")
@EmailValidator (key="fieldError.emailFormat", message="*")
public void setEmail(String email) {
this.email = email;
}
It functioned well but I neeed to reorganize my code. So, I create e class User where I directly put data coming from the web and I erase all the private variable in this way
User user = null;
public User getUser() {
if (user == null)
user = new User();
return user;
}
@RequiredStringValidator(key="fieldError.required", message = "*")
@EmailValidator (key="fieldError.emailFormat", message="*")
public void setEmail(String email) {
getUser().setEmail(email);
}
My bean receives data but validators stop to function, so I receive bad validation messages. Does validator need a getter (not present also in the first release) or use reflection on local variables to check data? How can I implement my new data model in Struts2