1、输入校检struts2提供了两种实现方法:(校验action中的所有方法或者指定方法)
a、采用手工编写代码实现
b、基于XML配置方式实现
2、具体实现:
a、继承ActionSupport,重写它的validate()方法(对所有方法进行校验)
注意要学习正则表达式
正则表达式:"^1[358]\\d{9}$"
^:表示要检测的字符串开头
1:表示字符串的第一个字符必须是1
[358]:表示字符串的第二个字符必须在358三个数字中的一个
1、输入校检struts2提供了两种实现方法:(校验action中的所有方法或者指定方法)
a、采用手工编写代码实现
b、基于XML配置方式实现
2、具体实现:
a、继承ActionSupport,重写它的validate()方法(对所有方法进行校验)
注意要学习正则表达式
正则表达式:"^1[358]\\d{9}$"
^:表示要检测的字符串开头
1:表示字符串的第一个字符必须是1
[358]:表示字符串的第二个字符必须在358三个数字中的一个
\\d:表示 数字[0-9]中的一个
{9}:表示后面有9位数字
$:表示字符串的最后一位
3、对指定方法进行校验:
只需把上面的校验方法名改为validateXxx()即可,其中Xxx为要校验的方法名,首字母大写
如:要校验update()方法,即改为validateUpdate()
4、基于XML配置方式实现:
在要校验的方法所在类所在的包下,名字为ActionName-validation.xml,其中ActionName为Action的名字,后面-validation.xml是固定写法
ValidateAction-validation.xml如下:
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.3//EN" "http://www.opensymphony.com/xwork/xwork-validator-1.0.3.dtd">
3 <validators>
4 <field name="username">
5 <field-validator type="requiredstring">
6 <param name="trim">true</param>
7 <message>用户名不能为空!</message>
8 </field-validator>
9 </field>
10 <field name="telno">
11 <field-validator type="requiredstring">
12 <message>手机号不能为空!</message>
13 </field-validator>
14 <field-validator type="regex">
15 <param name="expression"><![CDATA[^1[358]\d{9}$]]></param>
16 <message>手机号格式不正确!</message>
17 </field-validator>
18 </field>
19 </validators>
5、只需修改XML文件的名称,改为ActionClassName-ActionName-validation.xml,其他都不用动
如上例中:改为ValidateAction-validate_update-validation.xml,只对ValidateAction中的update方法校验