隨筆 - 6  文章 - 129  trackbacks - 0
          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          常用鏈接

          留言簿(14)

          隨筆檔案(6)

          文章分類(467)

          文章檔案(423)

          相冊

          收藏夾(18)

          JAVA

          搜索

          •  

          積分與排名

          • 積分 - 827218
          • 排名 - 49

          最新評論

          閱讀排行榜

          評論排行榜

          <plug-in className="org.apache.struts.validator.ValidatorPlugIn">
              <set-property property="pathnames" value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml" />
           </plug-in>
          required : 強制某個域不能為空,它沒有參數。
          validwhen : 通過一個域的值來檢查另一個域的值。
          minlength ; 檢查用戶輸入的數據長度不小于某個指定的值,需要一個最小的長度變量。
                           配置方法如下
                            <field property="username" depends="required,minlength">
                               <arg key="form.username" />
                               <arg position="1" name="minlength" key="${var : minlength}" resource="false" />
                               <var>
                                     <var-name>minlength</var-name>
                                     <var-value>6</var-value>
                               </var>
                            </field>
          maxlength : 檢查用戶輸入的最大長度。具體配置方法參照上面minlength的配置。
          mask : 根據正則表達式來檢查數據的格式,它需要一個正則表達式掩碼變量。從struts1.1開始,正則表達式必須以“^”開始并以“$”結束,其配置如下
                      <field property="username" depends="mask">
                         <arg key="form.username" />
                         <var>
                              <var-name>mask</var-name>
                              <var-value>^[a-zA-Z]*$</var-value>
                          </var>
                      </field>
          data : 檢查一個域是否可以被轉換成Data對象。它使用java.text.SimpleDateFormat來進行分析和檢驗,它可以使用dataPatten或者dataPattenStrict(這個比較嚴格,它要求輸入的數據長度必須與模式中的指定長度一致)例如:
                       <field property="birthday" depends="date">
                          <arg key="form.date"/>
                          <var>
                              <var-name>dataPattern</var-name>
                              <var-value>yyyy-MM-dd</var-value>
                          </var>
                       </field>
          intRange  /  floatRange  /  doubleRange : 檢驗一個整數 / 浮點數 / 雙精度浮點數 的值是否在一個指定的范圍內,需要最大值和最小值來指定范圍。這些檢驗分別要依賴于 integer  /  float  / double  檢驗,所以也要要求將它們也指定到depends屬性中。它定義的方法如下(這里以intRange為例)
                      <field proerty="age" depends="required,integer,intRange">
                         <arg position="0" key="form.age" />
                         <arg position="1" name="intRange" key="${var : min }" resource="false" />
                         <arg position="2" name="intRange" key="${var : max}" resource="false" />
                               <var>
                                     <var-name>min</var-name>
                                     <var-value>6</var-value>
                               </var>
                               <var>
                                     <var-name>max</var-name>
                                     <var-value>16</var-value>
                               </var>
          creditCard : 檢驗一個信用卡的格式是否正確,不需要任何參數,它的定義如下。
                            <field property="card" depends="required,creditCard">
                                  <arg key="form.card" />  
                             </field>
          email : 檢驗電子郵件地址格式是否正確,不需要任何參數,它的定義如下。
                           <field property="email" depends="required,email">
                                <arg key="form.email"/>
                            </field>
          url : 檢驗URL的格式是否正確。它有四個參數,分別是allowallschemes,allow2slashes,nofragments和schemes 。
             allowallschemes : 用來指明是否允許所有的schemes 。它的值可以為true(允許)/  false(禁止),默認值為false。如果這個值被設置為真,那么將會忽略schemes變量。
             allow2slashes : 用來指明是否允許兩個“/”出現。它的值可以為true(允許)/  false(禁止),默認值為false。
             nofragments : 用來說明是否不允許分段。它的值可以為true(不允許)/  false(允許),默認值為false。
             schemes : 指定合法的schemes,多個可以用逗號分隔。如果沒有進行指定,那么默認為http , https ,  和 ftp  。
                      url檢驗的方法如下
                     <field proper="custUrl" depends="url" >
                          <arg key = "form.coutUrl" />
                      </field>

                   <field proper="custUrl" depends="url" >
                          <arg key = "form.coutUrl" />
                            <var>
                               <var-name>nofragments</var-name>
                               <var-value>true</var-value>
                            </var>
                            <var>
                               <var-name>schemes</var-name>
                               <var-value>http,https,telnet,file</var-value>
                            </var>
                      </field>
          驗證兩個輸入域是否相等
                       <field property="password2" depends="required,validwhen">
                          <arg position="0" key="form.password2" />
                          <arg position="1" key="form.password" />
                          <msg name="validwhen" key="error.password.mathch"/>
                          <var>
                              <var-name>test</var-name>
                              <var-value>(*this* == password)</var-value>
                          </var>
                        </field>


          初始化配置文件
           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" "validator_1_1_3.dtd" >
          <form-validation>
           <formset>
            <form name="userForm">
                <field proper="" depends="">
                      ....................................
                </field>
            </form>
           </formset>
          </form-validation>
          -------------------------------------------------------------------------------------------------------------------------------
          Validator的調用配置
          Validator的調用方法要依據所采用的驗證方式而定。
             后臺服務器端驗證
                Action中的Validate屬性值設為 true
                還有在頁面中通過<html:errors />標記來顯示錯誤信息
             前臺Javascrip驗證
                Action中的Validate屬性值設為 false
               還有在頁面用使用<html:javascript />
                <html:form onsubmit="return ValidateXXXForm(this)" >
                </html:form>
                <html:javascript forName="XXXForm" />


          posted on 2007-08-18 13:02 Ke 閱讀(598) 評論(0)  編輯  收藏 所屬分類: struts
          主站蜘蛛池模板: 沿河| 常德市| 青龙| 南木林县| 周至县| 洛阳市| 通渭县| 米泉市| 宝山区| 新建县| 莆田市| 安丘市| 福泉市| 都江堰市| 田林县| 巫山县| 廉江市| 都昌县| 南开区| 六盘水市| 大新县| 芜湖市| 桃园市| 梅州市| 奉化市| 安塞县| 汪清县| 丹巴县| 崇礼县| 南乐县| 子长县| 明星| 舒城县| 南阳市| 西乡县| 且末县| 巴林左旗| 郴州市| 防城港市| 阿拉尔市| 清徐县|