摘要: 在上文的表單驗證解決方案中,有這樣幾個問題:
1。頁面中存在自定義標簽,這通不過W3C驗證。
2。自定義標簽不能寫在Struts標簽中,造成此解決方案在Struts工程中不適用。
3。驗證的方式和頁面內容混合在一起,沒有分開。
4。原反饋信息span的id必須符合一定規范,這是額外的負擔。
為了解決這些問題,我采取了如下步驟:
1。建立一種數據結構,讓它容納文本框id,反饋span的id,驗證正則表達式,是否必須輸入等四個信息。這樣頁面就不會混雜自定義標簽,w3c驗證和struts標簽不支持的問題就解決了。
2。建立一個包含多個這種數據結構的數組,其中元素與要驗證的文本域一一對應。此數組在需要驗證時建立。這里雖然要多些一些JS代碼,但驗證信息更集中更容易修改了。
3。需要驗證時取得數組元素,挨個驗證即可,需要的信息都可以從數組元素中取得。整個過程可以庫化通用化,頁面不需要寫驗證。
如此做完后,我認為原先的問題基本得到解決了。下面請看具體代碼
閱讀全文
摘要: 在上一篇“Web頁面表單域驗證方式的改進“中,我們通過把驗證法則(正則表達式和是否必填字段)寫在表單域中,將驗證過程和驗證法則成功的分離,從而減少了重復代碼,使驗證變得簡單易行,在實際使用中,我們可以把驗證過程放在一個JS文件中,對于全輸入驗證界面,在頁面的表單驗證部分只需要調用其中的checkForm函數就能進行有效驗證,頁面上不再需要書寫重復性高的JS驗證代碼;對于復雜的表單,比如其中含有復選框或是需要兩個文本框比較的地方,這種方法也可讓你不寫通用驗證代碼而把主要精力放在特殊的驗證上。這些能減輕不少工作量,讓繁瑣的工作變得輕松愉快起來。
閱讀全文