struts 验证框架 使用
1. 在struts-config.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>
2. 配置ApplicationResource.properties(eclipse默认struts的根目录)
将validator-rules.xml中 errors.required={0} is required. errors.minlength={0} can not be less than {1} characters. errors.maxlength={0} can not be greater than {1} characters. errors.invalid={0} is invalid. errors.byte={0} must be a byte. errors.short={0} must be a short. errors.integer={0} must be an integer. errors.long={0} must be a long. errors.float={0} must be a float. errors.double={0} must be a double. errors.date={0} is not a date. errors.range={0} is not in the range {1} through {2}. errors.creditcard={0} is an invalid credit card number. errors.email={0} is an invalid e-mail address.的信息copy到ApplicationResource.properties资源文件中
3. 创建Form
继承于ValidatorForm,不用reset 和 validate方法public class UserForm extends ValidatorForm { private String uname; private String upass; public String getUname() { return uname; } public void setUname(String uname) { this.uname = uname; } public String getUpass() { return upass; } public void setUpass(String upass) { this.upass = upass; }} 4. 设置struts-config.xml文件中的validate=false
5. 新建validation.xml文件,在validation.xml中配置验证信息
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE form-validation PUBLIC "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.0.1//EN" "validator_1_0_1.dtd" ><form-validation> <formset> <!-- name:属性对应struts-config.xml中FormBean的名字 --> <form name="userForm"> <!-- field:要验证的字段,即属性,depends:依赖的验证规则 --> <field property="uname" depends="required"> <!-- arg0:在资源文件中配置错误消息的{0}参数值--> <!-- errors.uname是资源文件中的key --> <arg0 key="errors.uname"/> </field> </form> </formset></form-validation>
6. 实现客户端的javascript验证
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%@taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html" %><html><head> <title>My JSP 'index.jsp' starting page</title></head><body> <html:form action="login" > 用户名:<html:text property="uname"></html:text><br> 密码:<html:text property="upass"></html:text><br> <html:submit value="登录"></html:submit> </html:form> <html:javascript formName="userForm"/></body></html>
经测试OK
页:
[1]