Struts 关于validator的regex验证

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

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



<field name="user.userLoginName">
		<field-validator type="requiredstring">
			<message>用户名不能为空</message>
		</field-validator>
		<field-validator type="<span style="color:#ff0000;">regex</span>">
			<param name="regex">^[\w\d_]{6,30}$</param>
			<message>用户名由字母、数字或"_"组成,长度6-30位</message>
		</field-validator>
</field>


源代码

public class RegexFieldValidator extends FieldValidatorSupport {

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

   <span style="color:#ff0000;"> private String regex;</span>
    <span style="color:#ff0000;">private String regexExpression;</span>
    private Boolean caseSensitive = true;

。。。。。。。
</pre><pre code_snippet_id="1780114" snippet_file_name="blog_20160723_5_2533159" name="code" class="html">    public String getRegex() {
        if (StringUtils.isNotEmpty(regex)) {
            return regex;
        } else if (StringUtils.isNotEmpty(regexExpression)) {
            return (String) parse(regexExpression, String.class);
        } else {
            return null;
        }
    }

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

<param name="regex"><![CDATA[\d{3}-\d{3}-\d{4}]]></param>


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

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


  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值