<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    WebWork2.2新特性(二):數(shù)據(jù)校驗 validator

    除經(jīng)特別注明外,本站文章版權歸JScud Develop團隊或其原作者所有.
    轉載請注明作者和來源.  scud(飛云小俠)    歡迎訪問 JScud Develop



    WebWork2.2中去掉了原來的JavaScript支持,使用AJAX和DWR進行客戶端校驗.

    DWR最新版本為1.0RC3a(2005-8-29),Webwork里面帶的是0.6的版本.

    如果使用客戶端校驗,首先在Web.xml里配置DWR:

        <servlet>
            <servlet-name>dwr</servlet-name>
            <servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class>
            <init-param>
                <param-name>debug</param-name>
                <param-value>true</param-value>
            </init-param>
        </servlet>

        <servlet-mapping>
            <servlet-name>dwr</servlet-name>
            <url-pattern>/dwr/*</url-pattern>
        </servlet-mapping> 



    validators.xml的寫法和原來一樣,不過就是不能用原來的JavaScript的校驗了(如果使用默認的validator,不需要這個文件)

     <validators> 
         <validator name="required"
             class="com.opensymphony.xwork.validator.validators.RequiredFieldValidator"/>
            
         <validator name="requiredstring"
             class="com.opensymphony.xwork.validator.validators.RequiredStringValidator"/>
     
         <validator name="stringlength"
          class="com.opensymphony.xwork.validator.validators.StringLengthFieldValidator"/>      
     </validators>

     

    對action的校驗規(guī)則寫法也是和原來一樣,例如增加新聞的校驗如下:

     <!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0//EN" "http://www.opensymphony.com/xwork/xwork-validator-1.0.dtd">
     <validators>
      <field name="news.title">
       <field-validator type="requiredstring">
        <message>請輸入標題</message>
       </field-validator>
      </field> 
      <field name="news.content">
       <field-validator type="requiredstring">
        <message>請輸入內(nèi)容</message>
       </field-validator>
      </field>
      
     </validators>  



    在頁面的Form標簽中寫上validate="true" (注意使用的是alt syntax語法)表示需要進行客戶端校驗,
    如果不寫validate="true"則不需要進行客戶端校驗,僅進行服務器端校驗,這就和DWR無關了,和以前的客戶端校驗一樣.

    <ww:form action="doAddNews" method="post" name="doAddNews" validate="true"> 

     
     
    還需要在WEB-INF下面增加一個dwr.xml配置DWR,如果使用webwork自帶的dwr,格式如下

     <?xml version="1.0" encoding="UTF-8"?>
     <!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 0.4//EN" "http://www.getahead.ltd.uk/dwr/dwr.dtd">
     <dwr>
         <allow>
             <create creator="new" javascript="validator" class="com.opensymphony.webwork.validators.DWRValidator"/>
             <convert converter="bean" match="com.opensymphony.xwork.ValidationAwareSupport"/>
         </allow>
     </dwr> 


    如果使用DWR 1.0r3a(用新的版本不知道有沒有問題),格式如下:

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN" "http://www.getahead.ltd.uk/dwr/dwr10.dtd">
    <dwr>
     <allow>
      <create creator="new" javascript="validator" >
      <param name="class" value="com.opensymphony.webwork.validators.DWRValidator" />
      </create>
      <convert converter="bean" match="com.opensymphony.xwork.ValidationAwareSupport"/>
     </allow>
    </dwr> 

    (注:一定要使用匹配dwr和dwr.xml,否則會報錯)


    通過查看頁面Html源碼,我們可以看到頁面中包含了/webwork和/dwr的路徑,這些路徑由Webwork和DWR自動生成文件返回,避免了在每個項目中復制重復的文件.

    <script src="/ww22test/webwork/validationClient.js"></script>
    <script src="/ww22test/dwr/interface/validator.js"></script>
    <script src="/ww22test/dwr/engine.js"></script>
    <script src="/ww22test/webwork/template/xhtml/validation.js"></script> 


    其中字段使用onblur來進行調(diào)用校驗:

    <input type="text" name="news.title" value="" id="doAddNews_news.title" onblur="validate(this);"/> 

    至此,Webwork的客戶端校驗可以運行起來了.

    (實際操作中,DWR的校驗可能還會有些問題,等待開發(fā)人員來進行修正了)

    BUG發(fā)現(xiàn):

    目前發(fā)現(xiàn)當表單元素的名字沒有.的時候(例如是"name"),DWR校驗器工作正常,而如果類似上面的表單元素名字類似news.title,校驗器工作不正常.

    不知道是DWR的問題還是WebWork的問題,需要研究一下...

     

    posted on 2005-08-29 18:50 Scud(飛云小俠) 閱讀(1661) 評論(2)  編輯  收藏 所屬分類: WEB

    評論

    # re: WebWork2.2新特性(二):數(shù)據(jù)校驗 validator 2005-10-21 00:14 scud(飛云小俠)

    bug已經(jīng)修正,或者是我看錯了.反正好了.  回復  更多評論   

    # re: WebWork2.2新特性(二):數(shù)據(jù)校驗 validator 2007-03-30 15:45 jetty

    如果沒有用WebWork,就簡單的jsp 可以用DWR技術 實現(xiàn)驗證嗎?
    可以發(fā)郵件:xlm_hz@126.com
      回復  更多評論   

    <2005年8月>
    31123456
    78910111213
    14151617181920
    21222324252627
    28293031123
    45678910

    導航

    統(tǒng)計

    公告

    文章發(fā)布許可
    創(chuàng)造共用協(xié)議:署名,非商業(yè),保持一致

    我的郵件
    cnscud # gmail


    常用鏈接

    留言簿(15)

    隨筆分類(113)

    隨筆檔案(103)

    相冊

    友情鏈接

    技術網(wǎng)站

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲乳大丰满中文字幕| 亚洲国产一区二区三区在线观看| 一个人免费视频在线观看www| 免费国产在线观看老王影院| 亚洲av无码成人精品区一本二本| 免费看大黄高清网站视频在线| 亚洲中文无码mv| 国内一级一级毛片a免费| 亚洲日产乱码一二三区别| 久久精品女人天堂AV免费观看| 亚洲成AV人片久久| 国产a视频精品免费观看| 亚洲婷婷天堂在线综合| 2021久久精品免费观看| 激情亚洲一区国产精品| 成年女人免费视频播放体验区| 亚洲乱人伦中文字幕无码| 日韩免费高清视频网站| 亚洲av无码专区在线电影天堂 | 国产成人高清精品免费观看| 无码欧精品亚洲日韩一区夜夜嗨 | 国产成人无码精品久久久免费| 亚洲一区精品伊人久久伊人 | 成人毛片免费视频| 亚洲精品无码你懂的| 国产在线不卡免费播放| 一级女性全黄久久生活片免费| 久久精品国产亚洲Aⅴ香蕉| 一二三区免费视频| 亚洲国产精品无码久久久不卡| 免费无码成人AV在线播放不卡| 亚洲国产美女在线观看| 猫咪社区免费资源在线观看| 亚洲精品色在线网站| 亚洲午夜爱爱香蕉片| 久久精品免费一区二区三区| 亚洲日本香蕉视频| 看全色黄大色大片免费久久| 一级毛片免费一级直接观看| 亚洲国产成人片在线观看无码| 又大又硬又爽又粗又快的视频免费|