(接上文)
創(chuàng)建新的用于JavaScript校驗的模板
注:大部分代碼均來自webwork2.1.6,非作者編寫.請基于最后發(fā)布的文件修改.
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文件內容如下
注意template目錄是放在源碼路徑下的,也就是說發(fā)布后它應該在classes目錄下.
后記:
如果webwork2.2本身提供這個選擇,就好了,不用自己辛苦改了
修改后的文件下載(隨時更新,請以最新版本為準)
http://www.jscud.com/product/wwvalidator/ww22spt.jsp
|
除經特別注明外,本文章版權歸JScud Develop團隊或其作者所有. 署名,非商業(yè)用途,保持一致. scud(飛云小俠) JScud Develop |