本文为原创,如需转载,请注明作者和出处,谢谢!
Struts2教程4:使用validate方法验证数据
在《Struts1.x系列教程(10):Validator验证框架入门》一文中给出的例子中的name、age和email都是简单的属性,如果是嵌套的属性(也就是一个属性的数据类型是另外一个带有属性的类),可以使用圆点(.)符号来访问。如我们可以通过设置
如果要验证的索引属性,我们可以使用
>
field>
Normal
0
7.8 磅
0
2
false
false
false
MicrosoftInternetExplorer4
>
field>
Normal
0
7.8 磅
0
2
false
false
false
MicrosoftInternetExplorer4
Validator框架将根据上述的配置代码来验证items属性中的每一项的employee.age属性。 二、使用常量和变量 1. 常量 常量分为全局常量和局部常量。 (1)全局常量 全局常量可以被用在validator.xml中定义的所有form中。我们可以使用
Normal
0
7.8 磅
0
2
false
false
false
MicrosoftInternetExplorer4
我们可以编写如下的代码来使用mask常量:
Normal
0
7.8 磅
0
2
false
false
false
MicrosoftInternetExplorer4
Normal
0
7.8 磅
0
2
false
false
false
MicrosoftInternetExplorer4
三、客户端验证 使用Validator框架的好处之一就是可以很容易地将服务端验证变为客户端验证(JavaScript验证)。为了完成这一转换,我们只需要修改两个地方。现在就拿《Struts1.x系列教程(10):Validator验证框架入门》中的firstValidator.jsp为例来说明要修改什么。
Normal
0
7.8 磅
0
2
false
false
false
MicrosoftInternetExplorer4
在《Struts1.x系列教程(10):Validator验证框架入门》一文中的name属性使用了mask进行验证。这个mask实际上代表了一个正则表达式。但如果在validator.xml文件中有很多个地方需要用到这个正则表达式,那就它就会在很多地方重复。为此,我们可以使用常量来避免这种事情发生。
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
--> <global>
<constant>
<constant-name>maskconstant-name>
<constant-value> ^[a-zA-Z0-9]*$ constant-value>
constant>
global>
<formset>
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
--> <formset>
<constant>
<constant-name>maskconstant-name>
<constant-value> ^[a-zA-Z0-9]*$ constant-value>
constant>
<form name="firstValidatorForm"> 

formset>
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
--><var>
<var-name>maskvar-name>
<var-value> ${mask}var-value>
var>
2. 变量
Validator框架通过元素来定义变量。变量将作为
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
--> <field property="name" depends="required ">
<msg name="required" key="error.name.blank" />
<arg name="required" key="${var:required}" position="0" resource="false" />
<var>
<var-name>requiredvar-name>
<var-value>姓名var-value>
var>
field>
首先,在firstValidator.jsp中的任何地方(当然,任何地方指的是客户端代码区,并不包括<%...%>和<%--... --%>所包含的内容)添加如下的
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
--> <html:javascript formName="firstValidatorForm"/>
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
--> onsubmit="return validateFirstValidatorForm(this);"
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/12921506/viewspace-555290/ ,如需转载,请注明出处,否则将追究法律责任。