如果要验证的索引属性,我们可以使用<field>元素的indexedListProperty属性来指定这个索引属性,如下面代码如示:
>
</field>
>
</field>在《Struts1.x系列教程(10):Validator验证框架入门》一文中的name属性使用了mask进行验证。这个mask实际上代表了一个正则表达式。但如果在validator.xml文件中有很多个地方需要用到这个正则表达式,那就它就会在很多地方重复。为此,我们可以使用常量来避免这种事情发生。
<constant>
<constant-name>mask</constant-name>
<constant-value> ^[a-zA-Z0-9]*$ </constant-value>
</constant>
</global>
<formset>
局部常量需要放到<formset>元素的开始位置(根据DTD的定义,局部常量只能放到这里,而全局常量可以放在第一个<formset>元素的前面,也可以放到<formset>的后面)。如下面的代码所示:
<constant>
<constant-name>mask</constant-name>
<constant-value> ^[a-zA-Z0-9]*$ </constant-value>
</constant>
<form name="firstValidatorForm">


</formset>
<var-name>mask</var-name>
<var-value> ${mask}</var-value>
</var>
2. 变量
Validator框架通过<var>元素来定义变量。变量将作为<field>的子元素被使用。主要向depends属性值(如mask)以及<msg>的错误信息传递数据。如下面的代码通过变量required将“姓名”传递给了错误信息的第一个参数{0}。
<msg name="required" key="error.name.blank" />
<arg name="required" key="${var:required}" position="0" resource="false" />
<var>
<var-name>required</var-name>
<var-value>姓名</var-value>
</var>
</field>
首先,在firstValidator.jsp中的任何地方(当然,任何地方指的是客户端代码区,并不包括<%...%>和<%--... --%>所包含的内容)添加如下的<html:javascript>标签:
















