无效字符的Struts2注释验证器

时间:2020-03-06 14:51:12  来源:igfitidea点击:

在使用Struts2时,我在set()方法中的Model类中使用了多个批注来进行验证,例如:

@RequiredStringValidator(message = "Name is required")
@StringLengthFieldValidator(message = "Name must be between 5 and 60 characters", 
                              minLength = "5", maxLength = "60")
public void setName(String name) {
    this.name = name;
}

但我想如何进行验证,避免使用奇怪的字符,例如??,$`等。

是否有任何我应该使用的现有验证器(如@RestrictChars),或者是否可以使用某种方式使用@StringRegexValidator。还是我应该写一个新的。任何提示或者文档说明如何做到这一点都很好。

解决方案

我终于找到了:

仅仅添加已经存在的@ RegexFieldValidator就给了我所需的验证器:

@RegexFieldValidator(message = "Use only Letters or numbers",
                       expression = "^[a-zA-Z0-9]+$")

谢谢大家!