給WebWork2.2增加JavaScript客戶端校驗(三)

          (接上文)

          創建新的用于JavaScript校驗的模板

          注:大部分代碼均來自webwork2.1.6,非作者編寫.請基于最后發布的文件修改.

          form.ftl文件的內容

          <#if parameters.validate?exists>
          <script language="javascript">
          function validate(element) {
          //do nothing,for simple compatibility with dwrValidator
          }
          </script>
          </#if>
          <#include "/${parameters.templateDir}/jsxhtml/form_simple.ftl" />
          <table class="wwFormTable">

          form-close.ftl文件的內容

          </table>
          <#include "/${parameters.templateDir}/simple/form-close.ftl" />

          <#if parameters.validate?exists>
              <script type="text/javascript"><#rt/>
              function ${parameters.name?html}_validate() {<#rt/>
                  var form = document.forms[’${parameters.name?html}’];<#rt/>
                  var focus = ${parameters.name?html}_validate_actual();<#rt/>
                  if (focus != null) {<#rt/>
                      form.elements[focus].focus();<#rt/>
                      if (form.elements[focus].type == ’text’ || form.elements[focus].type == ’textarea’) {<#rt/>
                          form.elements[focus].select();<#rt/>
                      }<#rt/>
                      return false;<#rt/>
                  } else {<#rt/>
                      return true;<#rt/>
                  }<#rt/>
              }<#rt/>

              function ${parameters.name?html}_validate_actual() {<#rt/>
                  var form = document.forms[’${parameters.name?html}’];<#rt/>
                 
                  ${parameters.javascriptValidation}<#rt/><#rt/>
                 
                  return null;<#rt/>
              }<#rt/>
              </script><#rt/>
          </#if>


          引用的form_simple.ftl的內容,修改自simple/form.ftl

          <form<#rt/>
          <#if parameters.namespace?exists>
           namespace="${parameters.namespace?html}"<#rt/>
          </#if>
          <#if parameters.id?exists>
           id="${parameters.id?html}"<#rt/>
          </#if>
          <#if parameters.name?exists>
           name="${parameters.name?html}"<#rt/>
          </#if>

          <#if parameters.onsubmit?exists>
           onsubmit="${parameters.onsubmit?html}"<#rt/>
          <#else>
           <#if parameters.validate?exists>
            onsubmit="return(${parameters.name?html}_validate())"<#rt/>
           </#if>
          </#if>

          <#if parameters.action?exists>
           action="${parameters.action?html}"<#rt/>
          </#if>
          <#if parameters.target?exists>
           target="${parameters.target?html}"<#rt/>
          </#if>
          <#if parameters.method?exists>
           method="${parameters.method?html}"<#rt/>
          </#if>
          <#if parameters.enctype?exists>
           enctype="${parameters.enctype?html}"<#rt/>
          </#if>
          <#if parameters.cssClass?exists>
           class="${parameters.cssClass?html}"<#rt/>
          </#if>
          <#if parameters.cssStyle?exists>
           style="${parameters.cssStyle?html}"<#rt/>
          </#if>
          >
          <#-- Add portlet support -->
          <#if parameters.isPortlet?exists>
           <input type="hidden" name="wwAction" value="${parameters.wwAction?html}"/><#rt/>
          </#if>


          如果你有自己的onsubmit,一定要調用校驗器的函數,才會進行正確的校驗

          對應的theme.properties文件內容如下

          parent = xhtml

           

          注意template目錄是放在源碼路徑下的,也就是說發布后它應該在classes目錄下.

           

          后記:

          如果webwork2.2本身提供這個選擇,就好了,不用自己辛苦改了

          修改后的文件下載(隨時更新,請以最新版本為準)

          http://www.jscud.com/product/wwvalidator/ww22spt.jsp

           

           


           
          創造共用協議:署名,非商業,保持一致   除經特別注明外,本文章版權歸JScud Develop團隊或其作者所有.
          署名,非商業用途,保持一致.   scud(飛云小俠)   JScud Develop

          posted on 2005-10-03 14:42 Scud(飛云小俠) 閱讀(1281) 評論(0)  編輯  收藏 所屬分類: WEB

          <2005年10月>
          2526272829301
          2345678
          9101112131415
          16171819202122
          23242526272829
          303112345

          導航

          統計

          公告

          文章發布許可
          創造共用協議:署名,非商業,保持一致

          我的郵件
          cnscud # gmail


          常用鏈接

          留言簿(15)

          隨筆分類(113)

          隨筆檔案(103)

          相冊

          友情鏈接

          技術網站

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 翁源县| 巴南区| 项城市| 天全县| 循化| 迭部县| 大冶市| 越西县| 攀枝花市| 龙山县| 岳阳县| 桓台县| 西城区| 宣威市| 宁城县| 玉林市| 南京市| 巴青县| 健康| 蕲春县| 盐亭县| 中西区| 高邮市| 永丰县| 桐梓县| 宜兰市| 屏东县| 石林| 吕梁市| 务川| 屯留县| 建湖县| 黄浦区| 安泽县| 清苑县| 德格县| 南乐县| 南开区| 六盘水市| 淳安县| 元朗区|