jsf伺服器端驗證使用者輸入

來源:互聯網
上載者:User

標籤:c   class   blog   code   java   a   

伺服器端驗證使用者輸入資料步驟

1 html頁面上插入要輸入資料控制項

?
1 2 3 4 <h:inputText size="10" value="#{commodityBean.foradd.name}"                         id="input1">                         <f:validator validatorId="input1Validator" />                     </h:inputText> <h:message for="input1"></h:message>

  這裡要用input1Validator驗證inputText控制項的數值。 然後結果用message形式返回。真正驗證的邏輯端在服務端執行。

2 在web-info檔案夾下的face-config.xml裡面寫入

?
1 2 3 4 5 6 7 8 <validator>  <validator-id>  input1Validator </validator-id>  <validator-class com.fujitsu.softbg.zl.input1Validator </validator-class </validator>

  通知伺服器制動去找com.fujitsu.softbg.zl檔案夾下的input1Validator.java檔案。

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 package com.fujitsu.softbg.zl;   import java.util.regex.Matcher; import java.util.regex.Pattern;   import javax.faces.application.FacesMessage; import javax.faces.component.UIComponent; import javax.faces.context.FacesContext; import javax.faces.validator.Validator; import javax.faces.validator.ValidatorException;   public class input1Validator implements Validator {       @Override     public void validate(FacesContext arg0, UIComponent arg1, Object arg2)             throws ValidatorException {         // TODO Auto-generated method stub         String inputvalue=arg2.toString();            String regEx="[0-9.]+";//表示一個或多個數字            Pattern p=Pattern.compile(regEx); //編譯成模式           Matcher m=p.matcher(inputvalue); //建立一個匹配器           boolean rs=m.matches();           if(!rs){               FacesMessage message = new FacesMessage(                     FacesMessage.SEVERITY_ERROR, "not a vaild number",                     "not a vaild number");             throw new ValidatorException(message);           }                   } }

  這裡驗證使用者輸入的資料是0到9和小數點。如果不符合就返回提示訊息。在服務端也可以像javascript一樣用邏輯運算式的方式驗證使用者輸入的字元。

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.