表單提交前 校正方法

來源:互聯網
上載者:User

  有時在表單提交前,需要對所填報或者選擇的資料進行校正,只有先通過校正的資料才能到達背景action中,這樣就省去了每次提交都到action中去校正的步驟,能提高效率。方法就是在確定前執行指令碼,去驗證:(xxx代表一個bean)
<h:commandButton value="確定"  action="#{xxx.listReport}"   onclick="return checkSelectIteam()"/>
js 校正方法:
function checkSelectIteam(){
          var rptyear = $("#xxxForm\\:rpt_year").val();    //下拉框選擇年度值
          var repType = $("#xxxForm\\:repType").val();     //下拉框選擇類型值
          if(-1 == rptyear || -1 == repType){
                 alert("請選擇年度和類型!");
                 return false;
          }else{
                 return true;
          }
}
這樣只有先通過checkSelectItema()方法之後合法的資料才能提交到後台
還有另外一種方法是添加validator的校正方法,如下:
將如下代碼添加到table中或者其它地方,
<h:inputHidden id="hi" value="fff"validator="#{xxx.validateType}"></h:inputHidden>
然後在需要顯示提示資訊的地方引用此方法傳回值:
<h:message for="hi"></h:message> </span>
<h:outputText value="當前不在任何填報期內,不需要進行填報!" ></h:outputText>
後台調用的validateType方法如下:
public void validateRepType(FacesContext context, UIComponent component, Object obj){
……
throw new ValidatorException(new FacesMessage("info", "錯誤資訊顯示!"));

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.