编程式校验(服务器端)
在action中编写校验代码
步骤:
1、action继承ActionSupport类,并实现其中的validate()方法;
2、在struts.xml中配置action,可以选择通过在jsp界面添加来显示,也可通过对action定义跳转来实现;
定义result
定义s:fielderror
3、针对指定的动作进行校验
方式一:
在不需验证的动作方法前加://@SkipValidation// 指忽略验证
方式二:
按书写规范来指定,如:
public String edit(){
..动作方法
}
public void validateEdit(){
..验证方法
}
验证方法的命名应该为:validate+动作方法名(首字母大写)
声明式校验 :通过xml配置文件
1、针对动作类中的所有动作进行校验
步骤:
<1>在action的同目录中建立xml文件,命名规则如下:
action名-validation.xml
<2>导入相应的dtd文件:
<3>通过validators标签来实现校验功能:
其中,field的name属性是需验证的属性名,field-validator的type属性是指定验证规则。message是提示内容,可通过来显示在jsp页面。
field-validator的type值:
requiredstring:必须的字符
stringlength:长度
email:电子邮件格式
expression:两数的关系比较(可以定义<param name="maxlength/minlength">
)
2、针对指定的动作进行校验
方式一:使用@SkipValidation
方式二:按规范书写来指定
若只需对ValidateAction中的某个add方法实施校验,校验文件的取名为:
ActionClassName-ActionName-validation.xml
ActionClassName为ValidateAction,ActionName为add
自定义声明式校验
实际上就是自己建一个校验器,并可以通过上述内容进行引用
实现步骤:
1、建立一个类并继承FieldValidatorSupport类,实现其中的validate(Object object)方法;
2、编写isStrong方法;
3、注册校验器
在WEB-INF\classes目录中,创建validators.xml文件,并导入相应dtd(不同与之前dtd),再编写validators配置文件
4、在ActionDemo-validation.xml中调用