Struts学习---------Validator框架验证

struts-config.xml

View Code
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN" "http://struts.apache.org/dtds/struts-config_1_3.dtd">

<struts-config>
  <form-beans >
    <form-bean name="userLoginForm" type="org.xiong.validator.struts.demo.form.UserLoginForm" />

  </form-beans>

  <global-exceptions />
  <global-forwards />
  <action-mappings >
    <action
      attribute="userLoginForm"
      input="/UserLogin/Login.jsp"
      name="userLoginForm"
      path="/userLogin"
      scope="request"
      type="org.xiong.validator.struts.demo.action.UserLoginAction"
      cancellable="true" validate="true">
          <forward name="sucess" path="/UserLogin/Sucess.jsp"></forward>
      </action>
  </action-mappings>

  <message-resources parameter="org.xiong.validator.struts.demo.ApplicationResources" />
  <plug-in className="org.apache.struts.validator.ValidatorPlugIn">
      <set-property property="pathnames" value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml"/>
       <set-property property="stopOnFirstError" value="true"/>
  </plug-in>
</struts-config>

validation.xml

View Code
  1 <!DOCTYPE form-validation PUBLIC
  2           "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1.3//EN"
  3           "http://jakarta.apache.org/commons/dtds/validator_1_1_3.dtd">
  4 <!--
  5   $Id: validator-rules.xml,v 1.1.2.1 2006/07/01 20:50:46 eugene-proddev Exp $
  6 
  7    This file contains the default Struts Validator pluggable validator
  8    definitions.  It should be placed somewhere under /WEB-INF and
  9    referenced in the struts-config.xml under the plug-in element
 10    for the ValidatorPlugIn.
 11 
 12       <plug-in className="org.apache.struts.validator.ValidatorPlugIn">
 13         <set-property property="pathnames" value="/WEB-INF/validator-rules.xml,
 14                                                   /WEB-INF/validation.xml"/>
 15       </plug-in>
 16 
 17    These are the default error messages associated with
 18    each validator defined in this file.  They should be
 19    added to your projects ApplicationResources.properties
 20    file or you can associate new ones by modifying the
 21    pluggable validators msg attributes in this file.
 22 
 23    # Struts Validator Error Messages
 24    errors.required={0} is required.
 25    errors.minlength={0} can not be less than {1} characters.
 26    errors.maxlength={0} can not be greater than {1} characters.
 27    errors.invalid={0} is invalid.
 28 
 29    errors.byte={0} must be a byte.
 30    errors.short={0} must be a short.
 31    errors.integer={0} must be an integer.
 32    errors.long={0} must be a long.
 33    errors.float={0} must be a float.
 34    errors.double={0} must be a double.
 35 
 36    errors.date={0} is not a date.
 37    errors.range={0} is not in the range {1} through {2}.
 38    errors.creditcard={0} is an invalid credit card number.
 39    errors.email={0} is an invalid e-mail address.
 40 
 41    Note: Starting in Struts 1.2.0 the default javascript definitions have
 42          been consolidated to commons-validator. The default can be overridden
 43          by supplying a <javascript> element with a CDATA section, just as
 44          in struts 1.1.
 45 
 46 -->
 47 
 48 <form-validation>
 49     <formset>
 50         <form name="userLoginForm">
 51             <field property="user.username" depends="required">
 52                 <arg key="prompt.username"/>            
 53             </field>
 54             <field property="user.password" depends="required,minlength,maxlength">
 55                 <arg key="prompt.password" position="0"/>
 56                 <arg key="${var:minlength}" name="minlength" resource="false" position="1"/>
 57                 <arg key="${var:maxlength}" name="maxlength" resource="false" position="1"/>            
 58                 <var>
 59                     <var-name>
 60                         maxlength
 61                     </var-name>
 62                     <var-value>
 63                         16
 64                     </var-value>
 65                 </var>
 66                 <var>
 67                     <var-name>
 68                         minlength
 69                     </var-name>
 70                     <var-value>
 71                         3
 72                     </var-value>
 73                 </var>
 74             </field>
 75             <field property="password2" depends="required,validwhen">
 76                 <arg key="prompt.password"/>
 77                 <msg name="validwhen" key="errors.password2"/>
 78                 <var>
 79                     <var-name>test</var-name>
 80                     <var-value>(*this* == user.password)</var-value>
 81                 </var>        
 82             </field>
 83             <field property="user.birthday" depends="date">
 84                 <arg key="prompt.birthday"/>    
 85                 <var>
 86                     <var-name>datePatternStrict</var-name>
 87                     <var-value>yyyy-MM-dd</var-value>
 88                 </var>        
 89             </field>
 90             <field property="user.email" depends="email">
 91                 <arg key="prompt.email"/>            
 92             </field>
 93             <field property="user.zipcode" depends="mask">
 94                 <arg key="prompt.zipcode"/>    
 95                   <var>
 96                     <var-name>mask</var-name>
 97                     <var-value>^[1-9][0-9]{5}$</var-value>
 98                 </var>        
 99             </field>
100         </form>
101     </formset>
102 </form-validation>

Login.jsp

View Code
 1 <%@ page language="java" pageEncoding="GBK"%>
 2 
 3 <%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
 4 <%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
 5 <%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>
 6 <%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles" %>
 7 
 8 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 9 <html:html lang="true">
10   <head>
11     <html:base />    
12     <title>Login.jsp</title>
13   </head>
14   <html:javascript formName="userLoginForm"/>
15   <body>
16     <html:form action="userLogin" method="post" >
17       <table border="0">
18         <tr>
19           <td>用户名:</td>
20           <td><html:text property="user.username" /></td>
21           <td><font color="red"><html:errors property="user.username" /></font></td>
22         </tr>
23         <tr>
24           <td>密码:</td>
25           <td><html:password property="user.password" /></td>
26           <td><font color="red"><html:errors property="user.password" /></font></td>
27         </tr>
28         <tr>
29           <td>重复密码:</td>
30           <td><html:password property="password2" /></td>
31           <td><font color="red"><html:errors property="password2" /></font></td>         
32         </tr>
33         <tr>
34           <td>生日:</td>
35           <td><html:text property="user.birthday" /></td>
36           <td><font color="red"><html:errors property="user.birthday" /></font></td>
37         </tr>
38         <tr>
39           <td>E-Mail:</td>
40           <td><html:text property="user.email" /></td>
41           <td><font color="red"><html:errors property="user.email" /></font></td>
42         </tr>
43         <tr>
44           <td>邮政编码:</td>
45           <td><html:text property="user.zipcode" /></td>
46           <td><font color="red"><html:errors property="user.zipcode" /></font></td>
47         </tr>        
48         <tr>
49           <td colspan="2" align="center"><html:submit value="提交"/></td>
50         </tr>
51       </table>
52       
53     </html:form>
54   </body>
55 </html:html>

ApplicationResources.properties

View Code
# Resources for parameter 'org.xiong.validate.struts.ApplicationResources'
# Project ValidatorDemo
   errors.required=<li>{0}\u662F\u5FC5\u987B\u7684\uFF01
   errors.minlength=<li>{0}\u957F\u5EA6\u4E0D\u5C0F\u4E8E{1}\u4E2A\u5B57\u7B26\uFF01
   errors.maxlength=<li>{0}\u957F\u5EA6\u4E0D\u5927\u4E8E{1}\u4E2A\u5B57\u7B26\uFF01.
   errors.invalid=<li>{0}\u662F\u65E0\u6548\u7684\uFF01

   errors.byte=<li>{0} must be a byte.
   errors.short=<li>{0} must be a short.
   errors.integer=<li>{0} must be an integer.
   errors.long=<li>{0} must be a long.
   errors.float=<li>{0} must be a float.
   errors.double=<li>{0} must be a double.

   errors.date=<li>{0}\u4E0D\u662F\u4E00\u4E2A\u5408\u6CD5\u7684\u65E5\u671F\u683C\u5F0F\uFF01
   errors.range=<li>{0} is not in the range {1} through {2}.
   errors.creditcard=<li>{0} is an invalid credit card number.
   errors.email=<li>{0}\u683C\u5F0F\u4E0D\u5408\u6CD5\uFF01
   
   
   prompt.username=\u7528\u6237\u540D
   prompt.password=\u5BC6\u7801
   errors.password2=<li>\u4E24\u6B21\u8F93\u5165\u7684\u5BC6\u7801\u4E0D\u4E00\u81F4\uFF01
   prompt.birthday=\u51FA\u751F\u65E5\u671F
   prompt.email=E-Mail
   prompt.zipcode=\u90AE\u653F\u7F16\u7801
   

转载于:https://www.cnblogs.com/xiongyu/archive/2012/04/11/2441666.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值