<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)站

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 91国内免费在线视频| 性短视频在线观看免费不卡流畅| 久久精品无码一区二区三区免费| 亚洲一区二区三区日本久久九| 成人电影在线免费观看| 久久精品国产亚洲AV网站| 男女午夜24式免费视频| 中文字幕无码视频手机免费看| 亚洲AV蜜桃永久无码精品| 精品无码一区二区三区亚洲桃色 | 亚洲国产婷婷六月丁香| 九九久久国产精品免费热6| 99re热精品视频国产免费| 久久精品蜜芽亚洲国产AV| 九九精品免费视频| 亚洲色大成网站www永久男同| 日本黄页网站免费| 亚洲伊人色欲综合网| 免费福利在线视频| 麻豆亚洲av熟女国产一区二| 精品国产污污免费网站入口在线 | 在线观看免费宅男视频| 亚洲av女电影网| 永久黄色免费网站| 久久久久亚洲爆乳少妇无| 亚洲另类无码一区二区三区| 亚洲Av无码国产情品久久| 在线观看免费视频一区| 亚洲综合色丁香麻豆| 日韩高清免费在线观看| 精品一区二区三区高清免费观看| 亚洲国产精品国自产电影| 中文字幕免费在线视频| 亚洲高清视频免费| 国产自产拍精品视频免费看| 亚洲成AV人片高潮喷水| 我的小后妈韩剧在线看免费高清版| 亚洲人成网站999久久久综合| 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | 亚洲图片校园春色| 九月婷婷亚洲综合在线|