程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> 使用validwhen設計復雜的Struts表單驗證

使用validwhen設計復雜的Struts表單驗證

編輯:關於JAVA

通過Struts 1.2提供的validwhen 驗證器可以輕松的創建更加復雜靈活的表單驗證。

比如說,我們要驗證用戶兩次輸入的密碼是否相同,或是只有當用戶填寫表單項“姓氏”時,表單項“名字”才是必須的。

validwhen 需要聲明一個叫test的var字段,這個變量的值是一個布爾型的表達式,比如:

test ((orderLines[].partNumber == null) or (*this* != null))

當布爾型表達式返回true時,驗證才會成功。下邊是允許發入該表達式的一些元素:

單引號或雙引號括起來的字符串十進制、十六進制或八進制表示的整形字面量null 表示沒有輸入的空串可以使用表單裡的任何字段名字,如 customerAge顯式引用的索引字段,如childLastName[2]隱式引用的索引字段,如childLastName[],表示使用與該字段相同的索引字面量 *this* 表示當前被驗證的表單

例:

下邊這段代碼表示:只有當sendNewsletter字段為空,或該字段emailAddress不為空時,該字段才有效

test ((sendNewsletter == null) or (*this* != null)) 下邊這個例子表示,只有相應的partNumber存在時,字段quantity才是必須的

下邊這個例子表示,只有相應的partNumber存在時,字段quantity才是必須的

test ((orderLines[].partNumber == null) or (*this* != null)) 下邊這個例子表示,如果輸入身高小於60英寸,則不能做nbaPointGuard

下邊這個例子表示,如果輸入身高小於60英寸,則不能做nbaPointGuard

test ((heightInInches >= 60) or (*this* == null))

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved