`

对表单输入的数据做校验

阅读更多

对表单输入的数据做校验

在struts中带有了Jakarta Commons中的一个叫做Validator的数据校验框架。 使用起来也是非常的简单。

首先将 struts提供的validator-rules.xml的配置文件放入WEB-INF中。

然后在struts-config.xml中加入validation的plugin声明:

<plug-in className="org.apache.struts.validator.ValidatorPlugIn"> <set-property property="pathnames" value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml"/> </plug-in>

我们会看到还有一个validator.xml文件不存在,在WEB-INF中新建这个xml文件,我们需要在其中加入自己的校验信息:

<?xml version="1.0" encoding="ISO-8859-1" ?> <!DOCTYPE form-validation PUBLIC "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.0//EN" "http://jakarta.apache.org/commons/dtds/validator_1_0.dtd"> <form-validation> <formset> <form name="sysuserForm"> <field property="username" depends="required, minlength,maxlength"> <arg0 key="prompt.login"/> <arg1 key="${var:minlength}" name="minlength" resource="false"/> <arg2 key="${var:maxlength}" name="maxlength" resource="false"/> <var> <var-name>maxlength</var-name> <var-value>16</var-value> </var> <var> <var-name>minlength</var-name> <var-value>3</var-value> </var> </field> <field property="userpasword" depends="required, minlength,maxlength"> <arg0 key="prompt.password"/> <arg1 key="${var:minlength}" name="minlength" resource="false"/> <arg2 key="${var:maxlength}" name="maxlength" resource="false"/> <var> <var-name>maxlength</var-name> <var-value>16</var-value> </var> <var> <var-name>minlength</var-name> <var-value>3</var-value> </var> </field> </form> </formset> </form-validation>

仔细的看看这个xml文件的内容就会发现它说明要校验的表单名为sysuserForm, 并对这个表单中的几个需要做校验的字段一一做了校验方法说明。 具体Validator的使用请参考它带的相关文档和struts的相关说明。

注 意:如果使用默认的检查规则对表单进行检查的话需要注意几个关键的地方,否则你可能就会花很长的时间检查js脚本无法应用的原因。 首先您所使用的FormBean就不能是原来的ActionForm了,需要更改为ValidatorForm。 这个Form中还必须有一个类似这样的validate方法:

public ActionErrors validate( ActionMapping mapping, HttpServletRequest request) { ActionErrors errors = super.validate(mapping, request); return errors; }

其次需要在页面的结尾处声明使用javascript:

<html:javascript formName="sysuserForm" dynamicJavascript="true" staticJavascript="false"/>

dynamicJavascript 属性是代表是否在页面内生成动态的js脚本。 如果您要对表单进行合法性检查的话,此属性必须为true。 staticJavascript属性代表是否在页面内生成静态js脚本。 如果您设为true,则存放在validator-rules.xml文件中的规则检查js 都将填充到本页面内。这样做的效果不是很好,因为会使页面变得很大, 并且消耗大量的额外资源。通常的做法是将此选项设置成false, 将validator-rules.xml中的js填充到一个指定的jsp页面中去。 这样多个表单都可以同时使用一个静态页面,从而节省大量的资源。 如果这样做我们就需要在后 面在声明对这个静态页面进行引用。

<script language="Javascript1.1" src="../staticJavascript.jsp"/></script>

书写这句话的时候也需要注意一点,尽量使用相对路径较好。 使用绝对路径的时候很难准确的定位这个静态页面的位置。

最后需要注意的一点就是在引用这个js检查的时候。

<html:form action="/sysuser.do" method="post" focus="login" onsubmit="return validateSysuserForm(this);">

return validateSysuserForm(this);这个函数的名字是根据你所检查的表单的名字而改变的。 例如我们检查的这个表单叫做sysuserForm,则生成的检查函数的名字为validateSysuserForm。 您在使用的时候需要将其修改成跟您所需要检查的表单相对应的函数名,否则js的检查就形同虚设了。

评论

相关推荐

    基于VueElementUI快速创建生成表单进行数据校验获取表单数据

    本教程将深入探讨如何利用Vue和Element UI快速创建生成表单,执行数据校验,并获取表单数据。 首先,创建一个基于Vue的项目,可以使用官方推荐的Vue CLI工具。通过运行`vue create project-name`命令,你可以快速...

    ext_表单提交_数据校验

    ### ext_表单提交_数据校验:深入解析与实践 #### 一、文本框输入控件(Ext.form.TextField) 在Ext JS框架中,`Ext.form.TextField`是一种用于收集用户输入的基本控件,它提供了丰富的配置选项来实现数据校验。...

    企业动态网站应用程序开发——输入数据实时校验函数及使用方法(Javascript篇)

    本文将深入探讨一个关键的技术点:如何利用JavaScript实现输入数据的实时校验函数,以提升应用程序的用户体验和数据质量。 JavaScript是一种广泛应用于Web前端的脚本语言,它允许开发者在用户与网页交互时执行代码...

    JS表单验证 JS校验代码 JS数据类型校验

    3. 触发验证:可以监听表单的`submit`事件,或对每个输入元素添加`change`或`blur`事件来实时验证。 4. 处理验证结果:根据`validateForm.js`返回的验证状态,决定是否允许表单提交或展示错误信息。 四、`validate...

    javascript实现常用的表单前台数据的校验

    在创建表单时,为了保证用户输入的数据质量和安全性,通常会在前端进行初步的数据校验,避免无效或不合法的数据提交到服务器。本篇文章将详细介绍如何使用JavaScript实现常见的表单前台数据校验。 一、基础验证函数...

    Web通用的表单校验JS

    本文将详细介绍一种通用的JavaScript(JS)表单校验方法,通过导入特定的JS文件,可以轻松实现对用户输入的验证。 首先,让我们了解什么是JavaScript表单校验。JavaScript是一种客户端脚本语言,它允许我们在用户的...

    jq 表单校验工具

    "jq 表单校验工具"是一个专门用于JavaScript(js)和jQuery(jq)环境的插件,它提供了强大的功能来帮助开发者实现对表单输入的实时验证。 首先,我们来看一下这个工具的核心功能。"传参"意味着你可以向校验方法...

    表单校验&文件下载

    表单校验是在用户提交数据之前,对输入的数据进行检查,以确保其符合预设的规则或格式。这有助于防止无效数据的提交,提高数据质量,同时也能为用户提供更好的用户体验,通过即时反馈告知他们输入是否正确。常见的...

    企业动态网站应用程序开发——输入数据实时校验函数及使用方法(Javascript篇).pdf

    企业动态网站应用程序开发——输入数据实时校验函数及使用方法(Javascript篇) 本文主要讲述了企业动态网站应用程序开发中的输入数据实时校验函数及使用方法,以Javascript为例。我们知道,企业信息化是指利用应用...

    struts2笔记之校验表单信息

    本篇笔记将详细讲解Struts2中服务器端与客户端对表单数据的校验方式。 首先,Struts2提供了一系列内置的校验器,包括: 1. Irequired:检查字段是否为空,是必填项。 2. IIrequiredstring:验证字段是否为非空字符...

    Text的输入校验

    在软件开发中,输入校验是指在用户输入数据后,系统进行的一系列检查,以确保数据符合预期的格式和规则。这一步骤可以防止恶意攻击,如SQL注入,同时也能减少因用户误操作导致的错误。 在HTML中,我们通常使用`...

    微信小程序例子——使用form表单获取输入框数据

    微信小程序提供了内置的表单数据校验功能,可以通过`validateFields`和`getFieldsValue`方法来对表单字段进行校验和获取值。例如: ```javascript Page({ validate() { this.selectComponent('#myForm')....

    页面的数据校验JS和HTML

    从给定的文件信息来看,我们正在探讨的主题是“页面的数据校验JS和HTML”,这是一个在Web开发中非常重要的主题,特别是在确保用户输入数据的有效性和安全性方面。下面将详细解析这个主题的关键知识点。 ### 页面...

    react-formsyreact一个ReactJS表单输入的校验器和验证器

    在React开发过程中,表单处理是一项重要的任务,它涉及到用户输入的数据验证、状态管理以及交互反馈。`formsy-react` 是一个专为React设计的高效、灵活的表单验证库,它极大地简化了React组件中复杂的表单逻辑,使得...

    struts2输入校验深入总结

    Struts2的Interceptor(拦截器)允许在Action执行前进行数据校验。例如,`ValidationInterceptor`是一个内置的拦截器,它使用Action级别的注解进行校验。如果校验失败,会将错误信息存入ActionContext,然后跳转到...

    javascript 表单验证禁止输入中文汉字

    在网页开发中,表单验证是一项非常重要的任务,它确保用户输入的数据符合预期的格式,以提高数据质量并减少服务器端的压力。JavaScript 是一种常用的客户端脚本语言,它可以直接在用户的浏览器上运行,用于实现表单...

    Spring In Action MVC 提交表单(2)-数据绑定和数据校验

    在Spring框架中,MVC...综上所述,Spring MVC的数据绑定和数据校验机制为开发者提供了便利,简化了处理用户输入的流程,同时也保证了数据的正确性。通过合理的配置和使用,可以大大提高Web应用的用户体验和安全性。

    输入校验之validateXXX方法校验

    在软件开发中,输入校验是一项至关重要的任务,它确保了程序接收到的数据是有效、安全且符合预期的。"validateXXX"方法是输入校验的一种常见实现方式,这里的"XXX"通常代表具体的校验规则或者字段名称。下面将详细...

    ng-alain动态表单设设置置必必填填和和正正则则校校验

    在[ui]中也可以对特定的表单项进行详细配置,比如自定义输入框的widget类型、校验时的错误提示等。 在上面给出的代码示例中,我们看到有一个'*'键,它是一个特殊的键,表示所有未在[ui]中明确指定的表单项都将遵循...

Global site tag (gtag.js) - Google Analytics