Struts 关于validator的regex验证

有的文章上写到其中的param name为"expression",版本问题,实测应该为regex,或regexExpression,

网上查到的资料“数据校验的时候如果是使用正则表达式需要注意2.3.16这个版本中的参数名作了修改,不是"expression",而是"regexExpression"。




		
			用户名不能为空
		
		regex">
			^[\w\d_]{6,30}$
			用户名由字母、数字或"_"组成,长度6-30位
		


源代码

public class RegexFieldValidator extends FieldValidatorSupport {

    private static final Logger LOG = LoggerFactory.getLogger(RegexFieldValidator.class);

    private String regex;
    private String regexExpression;
    private Boolean caseSensitive = true;

。。。。。。。
    public String getRegex() {
        if (StringUtils.isNotEmpty(regex)) {
            return regex;
        } else if (StringUtils.isNotEmpty(regexExpression)) {
            return (String) parse(regexExpression, String.class);
        } else {
            return null;
        }
    }

有的会加上CDATA,例如下面的 


摘自百度百科—— 术语 CDATA 指的是不应由 XML 解析器进行解析的文本数据(Unparsed Character Data)。

主要是xml文件对于一些特定符号来说可能解析失败,所以加上这个比较保险,前面格式是固定的


你可能感兴趣的:(Struts)