• <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        當(dāng)前位置:雨林木風(fēng)下載站 > 技術(shù)開發(fā)教程 > 詳細(xì)頁面

        運(yùn)用Struts Validator

        運(yùn)用Struts Validator

        更新時間:2022-04-30 文章作者:未知 信息來源:網(wǎng)絡(luò) 閱讀次數(shù):

        ***********
        翻譯、整理:sjoy (shjunsuper@263.net)
        出處:Jakarta Struts
        ***********

        這里只是列出一些使用validator的簡單步驟,并不是一個詳細(xì)的例子。如果要進(jìn)一步的了解該如何使用,請參看相關(guān)的文章。


        1. 所需的包
        commons-validator.jar
        jakarta-oro.jar
        (這兩者是什么關(guān)系我也不太清楚,不知道為什么兩者都需要)

        2. 配置驗(yàn)證規(guī)則(validation rules)
        有兩個非常重要的配置文件,validator-rules.xml和validation.xml。

        2.1 validator-rules.xml。它包含一些全局驗(yàn)證的規(guī)則,可以被應(yīng)用在你應(yīng)用中的每個地方。它也可以被其它的Struts應(yīng)用所引用。需要注意的是,如果你需要對它進(jìn)行擴(kuò)展,那最好是另外寫一個配置文件,而不是在這個文件中進(jìn)行擴(kuò)展,這樣做的目的是保證該文件可以始終被所有的應(yīng)用所使用,而不是customized。

        文件中每個validator元素就是一個單獨(dú)的驗(yàn)證規(guī)則。舉例看看:


        --------------------------------------------------------------------------------1
        2<validator name="minlength"
        3classname="org.apache.struts.validator.FieldChecks"
        4 method="validateMinLength"
        5 methodParams="java.lang.Object,
        6 org.apache.commons.validator.ValidatorAction,
        7 org.apache.commons.validator.Field,
        8 org.apache.struts.action.ActionErrors,
        9 javax.servlet.http.HttpServletRequest"
        10depends="required"
        11msg="errors.minlength">
        12</validator>
        --------------------------------------------------------------------------------

        其它不多說,其中有一個depends的屬性,它代表在作這個驗(yàn)證(minlength)之前,先要作那個的驗(yàn)證(required)。如果這樣寫:depends="rule1,rule2",那么就需要先驗(yàn)證rule1和rule2,然后再來驗(yàn)證minlength了。需要注意的是,如果前面的驗(yàn)證沒有通過(失敗)的話,那么后面的驗(yàn)證就不會進(jìn)行。
        另外,validator中可以有javascript的子元素,這個稍后再解釋。
        當(dāng)驗(yàn)證失敗,一個ActionError對象就會被創(chuàng)建出來,并被添加到ActionErrors中,然后在view component上就可以對它進(jìn)行處理了。

        2.2 validation.xml。該配置文件是應(yīng)用相關(guān)的(application specific)。它定義了一個具體表單中所要使用的從validator-rules.xml中來的驗(yàn)證規(guī)則。

        3. 通過plugin把驗(yàn)證模塊和Struts結(jié)合起來。

        --------------------------------------------------------------------------------1
        2<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
        3<set-property property="pathnames"
        4 value="/WEB-INF/conf/validator-rules.xml,
        5/WEB-INF/conf/validation.xml"/>
        6</plug-in>
        --------------------------------------------------------------------------------


        4. 有兩個地方可以對表單進(jìn)行驗(yàn)證,一個是放在Form-Bean中驗(yàn)證,一個就是放在Action-Form中來驗(yàn)證。此外對于form,還分標(biāo)準(zhǔn)的form和動態(tài)form兩種,這樣又引入了是標(biāo)準(zhǔn)Form驗(yàn)證還是動態(tài)Form驗(yàn)證。

        5. 創(chuàng)建自己的驗(yàn)證規(guī)則的三個步驟。
        5.1 編寫包含有相應(yīng)驗(yàn)證方法的java類;
        5.2 編輯validator-rules.xml文件或者創(chuàng)建自己的版本;如果是自己創(chuàng)建的配置文件,不要忘記把它添加到plugin的設(shè)置中去。
        5.3 在validation.xml中使用新的驗(yàn)證規(guī)則來驗(yàn)證表單。

        6. 接下來就是如何使用javascript啦!
        這里大概說一下如何使用,并沒有一個具體完整的例子 :(
        6.1 用于javascript的tag是JavascriptValidator。javascript代碼將被包含在validator元素內(nèi),以javascript為元素。
        6.2 當(dāng)JavascriptValidator這個tag被包含在jsp頁面中的時候,包含在javascript元素中的js代碼將被寫到客戶端的jsp頁面中以供驗(yàn)證使用。
        6.3 這樣來使用javascript的tag:
        <html:javascript formName="loginForm" />
        其中formName是用來查找相應(yīng)的javascript代碼的。
        6.4 必須再為該form寫一個onsubmit的事件:
        <html:form action="getPayment Info" onsubmit="return validateLogin Form(this);" >
        這里的validateLoginForm方法是由tag來自動創(chuàng)建的,它包含了所有要檢驗(yàn)的js邏輯。

        溫馨提示:喜歡本站的話,請收藏一下本站!

        本類教程下載

        系統(tǒng)下載排行

        主站蜘蛛池模板: 久久精品亚洲日本波多野结衣| 亚洲国产成人片在线观看无码| 亚洲日韩乱码久久久久久| 丝袜捆绑调教视频免费区| 亚洲精品无码99在线观看| 黄色网址在线免费观看| jizzjizz亚洲| 亚洲精品国产日韩无码AV永久免费网 | 亚洲av无码成人精品区| 尤物视频在线免费观看| 亚洲综合精品网站| a级成人毛片免费图片| 亚洲色图在线播放| 免费h片在线观看网址最新| 亚洲人成在线中文字幕| 在线免费观看毛片网站| 国产亚洲日韩在线a不卡| 国产亚洲精品影视在线产品| av永久免费网站在线观看| 久久亚洲美女精品国产精品| 国产精品久久久久免费a∨| 亚洲成a∨人片在无码2023| 亚洲国产精品成人网址天堂| 国产做国产爱免费视频| 亚洲成无码人在线观看| 国产精品麻豆免费版| 怡红院免费的全部视频| 亚洲一区二区三区在线| 免费在线观看的黄色网址| 国产色无码精品视频免费| 亚洲区视频在线观看| 免费亚洲视频在线观看| 日本高清高色视频免费| 激情综合亚洲色婷婷五月| 亚洲精品动漫人成3d在线| 久久国产精品2020免费m3u8| 亚洲日产乱码一二三区别| 亚洲人成网77777亚洲色 | 久久精品视频免费看| 亚洲中文字幕无码爆乳| 精品国产亚洲一区二区三区|