(接上文)
创建新的用于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文件内容如下
注意template目录是放在源码路径下的,也就是说发布后它应该在classes目录下.
后记:
如果webwork2.2本身提供这个选择,就好了,不用自己辛苦改了
修改后的文件下载(随时更新,请以最新版本为准)
http://www.jscud.com/product/wwvalidator/ww22spt.jsp
|
除经特别注明外,本文章版权归JScud Develop团队或其作者所有. 署名,非商业用途,保持一致. scud(飞云小侠) JScud Develop |