




已閱讀5頁(yè),還剩3頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
怎樣在struts中實(shí)現(xiàn)JS通用表單驗(yàn)證?關(guān)鍵詞: javascript struts 通用 表單 驗(yàn)證 作者:歐陽(yáng)春本篇通過(guò)介紹部分源代碼及簡(jiǎn)單舉例來(lái)說(shuō)明struts架構(gòu)中頁(yè)面輸入的JS驗(yàn)證問(wèn)題及經(jīng)過(guò)擴(kuò)展后struts標(biāo)簽的使用。本struts的javascript表單驗(yàn)證能夠推出要感謝“我佛山人”的優(yōu)秀的JS表單驗(yàn)證代碼?;贘SP標(biāo)簽的驗(yàn)證請(qǐng)直接參照 通用表單驗(yàn)證.chm。下面只對(duì)struts標(biāo)簽的驗(yàn)證實(shí)現(xiàn)與使用進(jìn)行舉例說(shuō)明:文中紅色標(biāo)記處為新增struts標(biāo)簽屬性,不可更改屬性中的值為關(guān)鍵字,不可更改在JSP文件中使用標(biāo)簽時(shí)就跟普通struts標(biāo)簽一樣使用,不過(guò)多了些控制屬性如簡(jiǎn)單吧,實(shí)際的頁(yè)面效果如那么如何才能實(shí)現(xiàn)這個(gè)效果呢?別著急,一步步來(lái),還是需要花點(diǎn)功夫的。一、擴(kuò)展struts源代碼要做到集成JS,用標(biāo)簽解決表單驗(yàn)證,這一步當(dāng)然是少不了的表單中需要驗(yàn)證的最常見(jiàn)的無(wú)非就是以下幾種,text、textarea、password、hidden、radio、select、checkbox,因?yàn)閠ext、password、hidden都是繼承抽象類(lèi)BaseFieldTag,標(biāo)簽的實(shí)現(xiàn)也在BaseFieldTag中,加上其它的每個(gè)都要擴(kuò)展,所以需要修改和擴(kuò)展的類(lèi)就有5個(gè),首先要說(shuō)明的是,我們所作修改要盡量作擴(kuò)展而不是直接修改struts里面的類(lèi),這樣可以方便struts新版本的更新。由于有很多類(lèi)都依賴(lài)于BaseFieldTag,而我們需要的也恰恰在BaseFieldTag里實(shí)現(xiàn),迫不得已,我們還是要修改BaseFieldTag(以增加新的屬性,無(wú)兼容性問(wèn)題),除此之外,其它類(lèi)一律用擴(kuò)展方式。下面只舉例修改BaseFieldTag,其它類(lèi)似,就不一一列出了。關(guān)鍵部分在方法public int doStartTag()中,由于代碼較長(zhǎng),只列出重要部分,其實(shí)也比較簡(jiǎn)單滴,只是將JS驗(yàn)證需要的屬性添加進(jìn)去而已,以便生成被控制的表單控件。如下if (type != null & (type.equals(text)|type.equals(hidden)|type.equals(password) if (dataType != null) results.append( dataType=); results.append(dataType); results.append(); if (min != null) results.append( min=); results.append(min); results.append(); if (max != null) results.append( max=); results.append(max); results.append(); if (operator != null) results.append( operator=); results.append(operator); results.append(); if (require != null) results.append( require=); results.append(require); results.append(); if (to != null) results.append( to=); results.append(to); results.append(); if (format != null) results.append( format=); results.append(format); results.append(); if (regexp != null) results.append( regexp=); results.append(regexp); results.append(); if (msg != null) results.append( msg=); results.append(msg); results.append(); if (onselect != null) results.append( onSelect=); results.append(onselect); results.append(); 二、修改你的struts中的struts-html.tld文件在相關(guān)tag處增加需要的屬性,例如textorg.apache.struts.taglib.html.TextTag dataType false true max false true min false true msg false true operator false true require false true to false true format false true regexp false true .ouyang.tag.ExtRadioTag dataType false true msg false true require false true 其實(shí)標(biāo)簽名為:text、textarea、password、hidden、radio、select、checkbox都是需要添加新的屬性的三、一切就緒后,在JSP中就可以用集成JS驗(yàn)證的新的標(biāo)簽了首先,在您的JSP最前面請(qǐng)引入JS源文件,假設(shè)JS文件名為check.js,如下:script language=JavaScript src=/js/check.js在FORM處請(qǐng)如下編寫(xiě)(紅色標(biāo)記處為您的Form ID):在您提交或點(diǎn)擊按鈕或任何您需要驗(yàn)證當(dāng)前表單的時(shí)候,如下:經(jīng)過(guò)擴(kuò)展,使用本標(biāo)簽已可實(shí)現(xiàn)多種標(biāo)簽(text、textarea、password、hidden、checkbox、select、radio)及多條件限制同時(shí)啟用,若使用多條件驗(yàn)證時(shí),各條件之間請(qǐng)以分號(hào)”;”間隔,且dataType與msg必須一一對(duì)應(yīng),即有一個(gè)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司節(jié)日回顧活動(dòng)方案
- 公司籃球組織活動(dòng)方案
- 公司放假團(tuán)建策劃方案
- 公司漢堡活動(dòng)策劃方案
- 公司節(jié)日套餐活動(dòng)方案
- 公司每月vip活動(dòng)方案
- 公司組織廣場(chǎng)舞活動(dòng)方案
- 公司標(biāo)準(zhǔn)化活動(dòng)方案
- 公司美食大賽策劃方案
- 公司生日會(huì)西餐策劃方案
- 動(dòng)火證申請(qǐng)表模版
- 個(gè)人工作總結(jié)反思-不足之處與改進(jìn)建議
- 絞窄性腸梗阻匯報(bào)演示課件
- 聯(lián)合排水試驗(yàn)報(bào)告
- 2023江西管理職業(yè)學(xué)院教師招聘考試真題匯總
- 子女撫養(yǎng)權(quán)變更協(xié)議
- 變壓器鐵芯(夾件)接地電流試驗(yàn)
- 被執(zhí)行人給法院執(zhí)行局寫(xiě)申請(qǐng)范本
- 23秋國(guó)家開(kāi)放大學(xué)《小學(xué)語(yǔ)文教學(xué)研究》形考任務(wù)1-5參考答案
- 露天礦山開(kāi)采安全-ppt
- XXX垃圾填埋場(chǎng)初步設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論