例如,我有一个名为
我编写了以下
问题在于此解决方案仅在调用注册操作时有效,无论如何,它在登录或注销时都不起作用,因为它将检查字段是否不为空或电子邮件是否正确,并始终会给出错误。好的,注销的解决方案是在其上方添加
UsersAction
的Action
类,其中包含一些方法,例如: 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
,并且不需要检查email
和phone
。我不想为每个操作编写一个Action类,因为Struts 2的目的不是这样做。
validate_methodName
,但它没有通过。你所说的“为您的验证方法提供某种上下文信息”是什么意思? - FerragovalidateLogin
。不过为什么不使用 XML 进行简单的验证呢? - Dave Newton