例如,我有一个Action
名为的类UsersAction
,其中有一些方法,例如:、、、login
等等。logout
register
我写validate()
的方法如下:
@Override
public void validate() {
if ("".equals(username)) {
addFieldError("username", getText("username.required"));
}
if ("".equals(email)) {
addFieldError("email", getText("email.required"));
} else if (!Utils.isValidEmail(email)) {
addFieldError("email", getText("invalid.email.address"));
}
if ("".equals(phone)) {
addFieldError("phone", getText("phone.required"));
}
if ("".equals(password)) {
addFieldError("password", getText("password.required"));
}
}
问题是该解决方案仅在调用注册操作时才有效,无论如何它在登录或注销时不起作用,因为它会检查字段是否为空或电子邮件是否正确并且总是会出错。好的,注销的解决方案是在@SkipValidation
其上方添加注释,但我不知道如何告诉它登录只有 2 个字段username
,并且password
也不需要检查。我不想部分地为每个动作编写一个动作类,因为 Struts 2 的目的不是这个。email
phone