1

我在不同的动作类中有两个动作。两个动作是:

  • 第一个动作(字段:电子邮件)
  • 第二个动作(字段:电子邮件,名字)

两者都使用User对象来验证字段

@VisitorFieldValidator(appendPrefix = false)
    public User getUser() {
        return user;
    }

并将类中的验证属性绑定User

@RequiredStringValidator(key="global.emptyemail")
    @EmailValidator(key="global.invalidemail")
    public String getEmail() {
        return email;
    }

现在的问题是它适用于1st action(不包括firstName作为字段),对于包括firstName我提供的字段的第二个动作

@RequiredStringValidator(key="global.firstNameRequired", fieldName = "firstName")
    @RegexFieldValidator(type=ValidatorType.FIELD, key="global.SpecialCharacter",
            regexExpression = "[^&%$#@!~]*", fieldName = "firstName")
    public String getFirstName() {
        return firstName;
    }

随着第一个动作停止工作,可能是要搜索firstName不存在的

那么,如何firstName仅对第二个动作进行验证?(不适用于第一次行动)

4

1 回答 1

0

将以下参数添加到操作配置中,这允许防止在其他操作/方法上运行验证器,而不是调用一个。

interceptorRefs = @InterceptorRef(value="defaultStack", params = {"validation.validateAnnotatedMethodOnly", "true"})
于 2014-03-19T19:48:22.517 回答