Visual Studio有基本的驗證控制項可以使用

(注意驗證控制項一定要指定要驗證的輸入控制項,不能單獨存在)

這些控制項可以設定要用Client端驗證還是Server端驗證

有個EnableClientScript可以調是否要用Client端驗證

 

RequiredFieldValidator

是驗證是否有輸入必要的值

必要的值用IntialValue來設定,如果設定5的話就只能輸

入5以外的值才能通過驗證

 

RangeValidator

可以檢查一個範圍的值,如果是數字的話他的Type要改為Integer喔

 

CompareValidator

比較兩個欄位的值,最典型的就是用在密碼和密碼確認兩個欄位

設ValueToCompare跟ControlToCompare和Type和Operator

 

RegularExpressionValidator

用RegularExpression來驗證,不過那個語法有點複雜=.=

 

CustomValidator

可以自訂的控制項

兩種,一種是Client端驗證

在ClientValidationFunction打入JavaScript的函式名字

例:

<script type="text/javascript">

function MyClient(sender,e)

{  //e.Value是控制項內輸入的值

   if(e.Value==5)

    e.IsValid=true;    //e.IsValid=true的話是代表通過驗證

   else

    e.IsValid=false;

}

 

第二種是Server端的驗證

利用CustomValidator提供的ServerValidator事件來做

protected void CustomValidator1_ServerValidate(object sender,

EventArgs args)

{

    if(int.Parse(args.Value)==5)

    args.IsValid=true;

    else

    args.IsValid=false;

}

 

</script>

 

 

ValdationSummary是可以把所有控制項的ErrorMessage都集合起來顯示

的控制項,如果要讓其他驗證控制項顯示出訊息的話,要打在Text屬性,

如果打在ErrorMessage的屬性的話,會顯示到ValdationSummary裡

 

//下面這個可以列出所有的驗證控制項,在判斷是否驗證通過

foreach(Ivalidator vaor in Page.Validator)

{

    if(!vaor.IsValid)

    Response.Write(vaor.ErrorMessage);

}

 

//Button的CausesValidation屬性可決定是否觸發驗證

 

//控制項都有一個ValidationGroup屬性,都設定一樣的話就是

同一個群組了,此群組的驗證就只會在此群組發生

 

//Page.Validate可以讓所有驗證控制項進行驗證(Server端)

 

//Page.IsValid可以看出所有控制項是否通過驗證(Server端)

 

 

 

welkingunther 發表在 痞客邦 PIXNET 留言(0) 人氣()