|
當應用程式要求使用者輸入資料時,必然考慮到使用者輸入資料之正確性,對於使用者的輸入必須進行檢驗,檢驗必要的兩種驗證是語法檢驗(Synatic Validation)與語意檢驗(Semantic Validation)。 語法檢驗是要檢查使用者輸入的資料是否合乎我們所要求的格式,最基本的就是檢查使用者是否填入了欄位值,或是欄位值的長度、大小值等等是否符合要求。語意 檢驗是在語法檢驗之後,在格式符合需求之後,我們進一步驗證使用者輸入的資料語意上是否正確,例如檢查使用者的名稱與密碼是否匹配。 在 簡單的導航(Navigation) 中,我們對使用者名稱與密碼檢查是否匹配,這是語意檢驗,我們可以使用JSF所提供的標準驗證器,為其加入語法檢驗,例如:
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %> 在<h:inputText>、</h:inputSecret>中,我們設定 了required屬性為true,這表示這個欄位一定要輸入值,我們也在</h:inputSecret>設定了<f: validateLength>,並設定其minimum屬性為6,這表示這個欄位最少需要6個字元。 這一次在錯誤訊息的顯示上,我們使用<h:messages>標籤,當有驗證錯誤發生時,相關的錯誤訊息會收集起來,使用<h: messages>標籤可以一次將所有的錯誤訊息顯示出來。 下面是一個驗證錯誤的訊息顯示: ![]() JSF提供了三種標準驗證器:<f:validateDoubleRange>、<f:validateLongRange>、 <f:validateLength>,您可以分別查詢它們的 Tag Library Documentation,瞭解他們有哪些屬性可以使用,或者是參考 Using the Standard Validators 這篇文章中有關於標準驗證器的說明。 |