struts中使用validator进行简单表单验证

1.找到validator相关文件.

要点:找到validator核心文件:validation.xml,validator-rules.xml.

    validator相关文件在已经下载的struts框架包中,以struts-1.2.9-bin.zip包为例,可以从struts-1.2.9-bin/webapps/struts-examples.war下找到validator-rules.xml文件,而validation.xml文件可以从struts-1.2.9-bin/webapps/struts-examples.war/WEB-INF/validator文件夹中找到。注意,struts-examples.war可以用winzip或者winrar解压或者打开,还有,validation.xml文件本意是需要我们自己创建的,所以不从例子包中找很难找到。

2.配置

    将validation.xml,validator-rules.xml两个文件拷贝到项目中的WEB-INF文件夹下,在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>

注意上面代码要加到最后,也就是</struts-config>的上面,这样才符合dtd。

3.代码

    这里提供一个小例子。

    首先,建立一个frombean。注意,如果使用validator框架进行验证,所使用的frombean就不能够用ActionForm了,而要使用ValidatorForm,动态frombean也是一样,使用DynaValidatorForm.

   frombean代码如下(格式不好请谅解,拷贝到eclipse后请使用ctrl+shift+f重新格式化代码):

************************************************************************

 import org.apache.struts.validator.ValidatorForm;

/**
 * MyEclipse Struts
 * Creation date: 10-09-2007
 *
 * XDoclet definition:
 * @struts.form name="testValidatorForm"
 */
public class TestValidatorForm extends ValidatorForm {
 /*
  * Generated Methods
  */
 private String userName;

 public String getUserName() {
  return userName;
 }

 public void setUserName(String userName) {
  this.userName = userName;
 }

}

************************************************************************

 b.创建action

    我们的目的是配置好validator框架进行表单验证,所以action中不需要任何逻辑。

    以下是action代码:

************************************************************************

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import cn.hxex.sample.struts.form.TestValidatorForm;

/**
 * MyEclipse Struts
 * Creation date: 10-09-2007
 *
 * XDoclet definition:
 * @struts.action path="/v1" name="testValidatorForm" scope="request" validate="true"
 */
public class V1Action extends Action {
 /*
  * Generated Methods
  */

 /**
  * Method execute
  * @param mapping
  * @param form
  * @param request
  * @param response
  * @return ActionForward
  */
 public ActionForward execute(ActionMapping mapping, ActionForm form,
   HttpServletRequest request, HttpServletResponse response) {
  TestValidatorForm testValidatorForm = (TestValidatorForm) form;// TODO Auto-generated method stub
  return null;
 }
}

************************************************************************

c.建立jsp文件

不多说了,越简单越好,记得加入<html:errors />,代码如下:

************************************************************************

<%@ page language="java" pageEncoding="utf-8"%>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-bean" prefix="bean"%>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html"%>

<html>
 <head>
  <title>JSP for UserForm form</title>
 </head>
 <body>
  <html:form action="/v1">
   <html:errors /><br/>
   userName : <html:text property="userName"/><br/>
   <html:submit/><html:cancel/>
  </html:form>
 </body>
</html>

************************************************************************

表单中只有一个提交项:userName

d.配置struts-config.xml

d.1配置frombean:

<form-bean name="testValidatorForm" type="cn.hxex.sample.struts.form.TestValidatorForm" />

d.2配置action,记得将validate配置为"true"

<action

      name="testValidatorForm"
      path="/v1"
      input="/testV1.jsp"
      scope="request"
      type="cn.hxex.sample.struts.action.V1Action"
      validate="true"
      />

e.修改validation.xml中代码如下:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE form-validation PUBLIC
          "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1.3//EN"
          "http://jakarta.apache.org/commons/dtds/validator_1_1_3.dtd">
<form-validation>
  <formset>
    <form name="testValidatorForm">
      <field property="userName" depends="required">
        <arg0 key="testValidatorForm.userName"/>
      </field>
    </form>
  </formset>
</form-validation>

其中的required是指不能为空,验证项还有很多,留为后话。

f.配置ApplicationResources.properties文件内容如下:

testValidatorForm.userName=用户名
errors.required={0}不能为空!

红色的testValidatorForm.userName和validation.xml中arg0的key值一致,下面的errors.required和validation.xml文件中的depends中的required保持一致,表示判空。如果为空,就会报errors.required等号后面的错误信息,其中的{0}表示validation.xml中的arg0,依此类推,以后的{1}表示validation.xml文件中的arg1.本例完整的错误信息是:用户名不能为空!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue Validator是一个用于Vue.js的验证插件,可以方便地对进行验证。下面详细介绍一下Vue Validator使用方法。 首先,我们需要在Vue项目安装Vue Validator。可以通过命令`npm install vue-validator`来安装该插件。 安装完成后,在Vue组件,需要先引入Vue Validator,并在`Vue.use(VueValidator)`启用它。 接着,在需要进行验证,添加一个`validator`属性来指定验证规则。可以使用`v-validate`指令来设置验证规则。例如: ```html <input type="text" v-model="name" v-validate="'required|alpha'"> ``` 在上述代码,我们使用`v-validate`指令来设置验证规则为必填(required)和只允许字母(alpha)。 然后,在,可以使用`v-show`指令来根据验证结果来显示或隐藏错误信息。例如: ```html <div v-show="$validator.name.required">姓名不能为空</div> <div v-show="$validator.name.alpha">姓名只能包含字母</div> ``` 在上述代码使用`v-show="$validator.name.required"`来根据`name`字段的必填验证结果来显示或隐藏错误信息。 此外,还可以在Vue组件定义自定义验证规则。可以使用`Vue.validator`方法来定义自定义验证规则。例如: ```javascript Vue.validator('customRule', function(val) { return val === 'validValue'; }); ``` 在上述代码,我们自定义了一个验证规则`customRule`,它的值必须等于`'validValue'`。这样,我们就可以在使用`v-validate="'customRule'"`来应用该自定义规则。 总结一下,Vue Validator使用方法包括:安装插件、启用插件、设置验证规则、显示错误信息以及自定义验证规则。以上就是Vue Validator使用方法的详细解释。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值