valiation框架中使用正则表达式

本文介绍了在Validation框架中使用正则表达式的步骤。首先,涉及两个XML文件validation.xml和validation-rule.xml,前者存放自定义验证规则,后者为规则模板。接着,在struts-config.xml中配置validation插件。正则表达式的应用包括:在global部分定义常量,并在form属性与验证规则绑定时使用mask属性,以定制错误提示信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

     Validation框架:(1)有两个xml描述文件validation.xml和validation-rule.xml,他们都放在WEB-INF目录下(说明:a、validation-rule.xml这个里面定义的是我们需要的各种验证的规则模版,一般我们不需要对这个文件进行编辑。b、validation.xml这个文件里面存放的是我们需要使用的验证规则,那么我们使用的验证规则都来自于规则模版)

(2)在struts-config.xml中加入validation的Plug-In(插件),并指定xml的配置文件的路径

<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
       
<set-property property="pathnames"
    value
="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml" />
</plug-in>

在validatio中使用正则表达式的步骤:

1.在validation.xml中在global中定义常量

<global>
<!--用户名由数字或字母组成的,长度为4-20个字符!  start-->
    
<constant>
        
<constant-name>userName</constant-name>
        
<constant-value>^w{4,20}$</constant-value>
    
</constant>
<!--end-->
    
<constant>
        
<constant-name>datePattern</constant-name>
        
<constant-value>yyyy-MM-dd</constant-value>
    
</constant>
</global>

2、将form属性和验证规则绑定,配置属性文件中的错误提示信息,在depends处使用mask,因为正则表达式的这个出错信息和其他的不能共用所以要重新定义 (下面代码的<msg name="mask" key="errors.username" />) 

<form name="UserInfoForm">
    
<field property="userName" depends="required,mask">
        
<msg name="mask" key="errors.username" />
        
<arg0 key="user.username" />
        
<var>
            
<var-name>mask</var-name>
            
<var-value>${userName}</var-value>
        
</var>
    
</field>
    
<field property="birthday" depends="required, date">
        
<arg0 key="user.birthday" />
        
<var>
            
<var-name>datePatternStrict</var-name>
            
<var-value>${datePattern}</var-value>
        
</var>
    
</field>
</form>
3. 在jsp页面中<html:javascript/>导入javascript代码
4. 在form中使用onsubmit来调用javascript
完成以上步骤就ok了
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值