標籤:
C#包含有六種驗證方式,分別為:
一、非空驗證 RequiredFieldValidator.
二、對比驗證 CompareValidator.
三、範圍驗證 RangeValidator.
四、Regex驗證 RegularExpressionValidator.
五、驗證匯總 ValidationSummary.
六、自訂驗證.
兩個應用技巧:
1.防止按鈕激發驗證控制項。
預設情況下,3類按鈕都會激發驗證。
如果不想激發驗證:給按鈕的CauseValidation=false
2.驗證分組的問題。
把輸入控制項(文字框,單選,多選)、驗證控制項(非空,對比,範圍,正則,自訂,匯總)、按鈕的ValidationGroup屬性設成相同的值。
它們就變成一組了。
使用驗證空間首先需要修改的三個屬性(六大驗證方式通用):
1.ErrorMessage:驗證失敗顯示的錯誤資訊
2.Display:驗證程式的顯示方式--一般情況下為Dynamic動態顯示(驗證失敗顯示).
3.CotrolToValidate:要驗證的控制項ID(例如:驗證TextBox中帳號的內容,CotorlToValidate就填該TextBox的ID).
不同的屬性:
一、非空驗證 RequiredFieldValidator.
InitialValue - 驗證的初始值,被驗證控制項的值與此值相同的話,就認為是空
例如:文字框裡面的(必填)兩個字
二、對比驗證 CompareValidator.
ControlToCompare - 要對比的控制項的ID
ValueToCompare - 要對比的值
Operator - 對比的運算子
Type - 輸入的對比類型
三、範圍驗證 RangeValidator.
MaximumValue - 範圍的上限
MinimumValue - 範圍的下限
Type - 類型
四、Regex驗證 RegularExpressionValidator.
ValidationExpression - 驗證運算式(也可自己定義)
五、驗證匯總 ValidationSummary.
ShowMessageBox - 是否以對話方塊的形式顯示匯總的錯誤資訊
ShowSummary - 是否在頁面上顯示匯總的錯誤資訊
六、自訂驗證.---自訂驗證被認為是功能最強大的驗證方式
必填資訊:
ErrorMessage - 驗證出錯後的提示資訊
ControlToValidate - 要驗證的控制項的ID
Display - 顯示方式。Static-不顯示也占空間。Dynamic-不顯示不佔空間
ClientValidationFunction - 用戶端驗證函式的函數名。(不要加括弧)
用戶端驗證函式的規範:
function 函數名(事件來源,事件數目據)
{
事件數目據.Value -- 要被給證的值。該驗證控制項所要驗證的那個輸入框中的值。
事件數目據.IsValid -- 告訴驗證控制項,驗證是否通過。
}
案例:
<script language="javascript"> function zhiShu(a, b) { //a-事件來源,b-事件數目據 //主要用到的就是b //b.Value-獲得該驗證控制項所要驗證的那個控制項的值。將要被驗證的值。 //b.IsValid-告訴瀏覽器,驗證是否通過。true-通過.false-不通過(把ErrorMessage顯示出來,阻止提交)。 //步驟 //1.把要被驗證的值取出來。 var s = b.Value; //2.進行驗證 var isOK = false; if (isNaN(s) == false) { //首先要看是不是個數字 var zc = 0; //取餘為0的個數 var num = parseInt(s); //轉化成整數計算 for (var i = 1; i <= num; i++) { //從1開始到數值本身,挨個整除,如果能被整除就記錄一下zc++; if (num % i == 0) { zc++; } } if (zc == 2) { isOK = true; } else { isOK = false; } } else { isOK = false; } //3.告訴驗證控制項是否驗證通過。 b.IsValid = isOK; } </script>
C#WebFrom六大驗證及使用方法