validation用戶端驗證的問題

來源:互聯網
上載者:User

在struts 的驗證裡,要注意如下幾點

 

<html:form action="/ createUser" onsubmit="return validateUserForm(this);">
格式為 return validate + formbean名稱(首字母大寫) + (this)用來在提交本頁面時執行相應的js驗證代碼。

② 用來產生本頁面的 js 驗證代碼。 有兩種方法:

⑴ 在頁面上聲明
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
<html:javascript formName="userForm" dynamicJavascript="true" staticJavascript="true"/>
因為dynamicJavascript/staticJavascript在JavascriptValidatorTag.java中預設為true,所以上面也可以直接寫:<html:javascript formName="userForm"/>

註:在用戶端執行的js驗證如果不通過,會alert出對話方塊進行提示,伺服器端的驗證(在頁面上可以用<html:errors/>來顯示出錯資訊)就不會執行。
注意只有dynamicJavascript="true" + staticJavascript="true" 才能產生完整的 js 驗證代碼 ,如果把任何一個設為"false"提交頁面時都會產生js錯誤,除非我們採用下面⑵的方法進行聲明。

⑵ 在本頁面上聲明
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
<html:javascript formName="userForm" dynamicJavascript="true" staticJavascript="false"/
<script language="Javascript1.1" src="staticJavascript.jsp"/></script>

定義staticJavascript.jsp的內容為
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
<html:javascript dynamicJavascript="false" staticJavascript="true"/>

註:dynamicJavascript 表示是否在頁面內產生動態js,staticJavascript屬性代表是否在頁面內產生靜態js。 如staticJavascript設為"true",則validator-rules.xml檔案中的規則檢查產生的js代碼都會產生到本頁面內。這樣本頁面會越來越大,一般最好是將staticJavascript設為"false", 將validator-rules.xml產生的js代碼填充到一個指定的jsp頁面(staticJavascript.jsp)中去。

 

聯繫我們

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