Struts Validator

全文:https://www6.software.ibm.com/developerworks/cn/education/java/j-strutsval/index.html

 

必要的库

最重要的是需要 Jakarta ORO 包,它负责处理正则表达式。

Validator 还使用 Jakarta Commons BeanUtilsJakarta Commons LoggingJakarta Commons CollectionsJakarta Commons Digester 包。这些 JAR 文件需要放在 Tomcat 的 common/lib 目录中或 Web 应用程序的 WEB-INF/lib 目录中。

最后,Struts Validator 是建立于 Jakarta Commons 包 Jakarta Commons Validator 以及其他包的基础之上的。

  • commons-beanutils.jar: Commons BeanUtils
  • commons-collections.jar: Commons Collections
  • commons-digester.jar: Commons Digester
  • commons-logging.jar: Commons Logging
  • commons-validator.jar: Commons Validator
  • jakarta-oro.jar: Jakarta ORO

 

验证规则

Validator 库就位之后,还需要两个 XML 文件:validation-rules.xml 和 validator.xml。validation-rules.xml 文件或多或少是静态的,所以先处理它。这个文件指定可用的验证规则;因为 Validator 自带了几个默认规则,所以只要找到这个文件的工作目录,并把它拷贝到自己应用程序的 WEB-INF 目录即可。

 

https://www6.software.ibm.com/developerworks/cn/education/java/j-strutsval/section4.html

 

把 Validator 连接到应用程序

现在需要让 Struts 应用程序知道 Validator。在这里,我指的是组件的整体,而不是 Validator 的某个特定应用(这是我将在 在应用程序中使用 Validator 中介绍的内容)。将需要使用 Struts 的 plugin 元素,这是让 Struts 知道它应当集成进应用程序的组件的方法。

 

添加验证规则

现在我们进入有趣的部分。打开 WEB-INF/validation.xml,这是我在前面提到过的两个特定于 Validator 的配置文件的第二个(第一个是 validator-rules.xml,负责指定通用验证规则)。validation.xml 文件包含表单特定字段(在 struts-config.xml 中定义)和通用验证规则(在 validator-rules.xml 中)的映射。请打开 validation.xml 并找到 formset 元素。

https://www6.software.ibm.com/developerworks/cn/education/java/j-strutsval/section6.html

 

使用 mask 规则

https://www6.software.ibm.com/developerworks/cn/education/java/j-strutsval/section6.html

 

在 JSP 中支持验证

 

</html:form>

<html:javascript formName="ValidationForm" cdata="false" />

</body>

 

不是很多哦!只有一行代码,但是它告诉 Struts 插入所有支持表单客户端验证的 JavaScript。还请注意非常重要的 cdata 属性。必须 把它设置成 false,否则客户端验证不会工作。如果把它设置成 true(默认设置),那么 Struts 生成的 HTML 会把 JavaScript 放在 <![CDATA[]]> 标记内。由于一些我不太清楚的原因,多数现代浏览器(Mozilla Firefox 和 Safari 在其中最出名)会忽略这样包含的 JavaScript,所以客户端验证不会执行。

在这一阶段,我要指出,即使忘记了 cdata=false 这一部分,仍然可以得到验证,只不过是在服务器端而已。在任何情况下,Validator 在服务器端都会验证数据,所以如果忘记了这个属性、甚至关闭 JavaScript 或跳过它,也都会得到一个备份。使用 Validator 有一个很好的副作用 —— 它会尝试并捕获每个可能的错误。


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值