Java Web基礎:客戶端驗證

本文轉載自李緒成老師的筆記,感謝李老師!

Web應用中必須在客戶端對輸入信息進行驗證,如果發現錯誤可以及時對用戶進行反饋,也不用等到服務器發現之後再反饋,一方面是減少了用戶的等待時間,另一方面減少不必要的交互過程。本節內容介紹如何使用JavaScript完成客戶端的驗證。
JavaScript語言
Web應用中需要在客戶端執行的功能可以使用JavaScript語言編寫,在使用的時候需要把JavaScript代碼放在下面的兩個標識之間:
<script language="JavaScript">
    相關JavaScript代碼
</script>
JavaScript代碼與Java代碼比較類似,但是更靈活一些,本書只介紹與客戶端驗證相關的JavaScript代碼,如果想更深入學習,可以參考專門的書籍。
通常會把對不同內容的驗證寫成不同的方法,方法的格式如下:
    function 方法名(參數)
    {
        // 方法體
    }
不需要寫方法的返回值類型,但是方法可以有返回值,並且可以是各種類型的返回值。方法的參數類型也可以不寫。把方法放在JavaScript的開始標識和結束標識之間即可。
要對用戶輸入的信息進行驗證,需要先獲取輸入信息。每個表單元素都屬於一個form表單,要獲取信息需要先獲取到form然後訪問表單元素的值。
有兩種方式可以獲取form表單,第一種方式可以通過document對象獲得form
form = document.form1
其中form1是表單元素的名字。
另一種方式可以在調用驗證方法的時候把form作爲參數,本章實例中使用的就是這種方式:
isValidate(form1)
其中form1就是表單的名字。
得到form之後,獲取表單元素的值的代碼如下:
form1.userid.value
其中,userid是表單元素,value是該表單元素的值。
驗證通常在表單提交之前進行,那麼如何在提交信息之前進行驗證呢?可以通過按鈕的onClick事件,也可以通過form表單的onSubmit事件。
本章實例是通過form表單的onSubmit事件來完成的:
    <form name="form1" action="register_confirm.jsp" method="post"
          onsubmit="return isValidate(form1)">
如果要通過按鈕的onClick事件完成,可以使用下面的代碼:
<input type="button" value="提交" onClick="JavaScript:isValidate()">
如果使用這個方法,在驗證通過之後,需要編寫提交表單的代碼:
document.form1.submit();
在驗證失敗之後通常需要提示用戶錯誤信息,可以通過下面的代碼完成:
alert("地址長度大於50位!");
使用alert提示錯誤信息,參數是要顯示的錯誤信息。上面就是當用戶輸入的地址信息的長度大於50的時候提示用戶的信息。
如果驗證失敗通常會把光標放在相應的輸入框中,可以使用下面的代碼:
form.address.focus();
如果地址的長度不合適,就會把光標放在地址輸入框中。
在驗證過程中,有些方法經常使用,主要是與字符串處理相關的方法。假設str是一個字符串,下面列出常用的對str的處理方法:
str.length,表示字符串的長度;
str.charAt(i),獲取字符串中第i個字符,i0開始;
str.indexOf(c),查找某個字符的位置,返回值是第一次出現的位置,從0開始,如果沒有找到,返回-1
str.substring(index1,index2),獲取子串,第一個參數表示開始位置,第二個參數表示結束位置,子串包括第一個參數,不包括第二個參數。如果只有一個參數,則獲取從該參數開始到字符串結束的子串。此時方法就變成:str.substring(index);
str==另一個字符串,判斷與另一個字符串是否相同。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章