close

我只打算寫CustomValidator與ValidationSummary,

因為我每次都忘記怎麼設定=_=

首先看一下預期的結果

2010-1-23 上午 12-10-40.png 

有一個TextBox,當按下按鈕後判斷是不是A,如果不是則提示訊息告知Client端。

 

[畫面]

分別拉出TextBox、Button、CustomValidator、ValidationSummary。

2010-1-23 上午 12-17-00.png 

屬性設定如下

Button
ValidationGroup = "GroupA"

CustomValidator
ErrorMessage="你輸入的不是A"
ClientValidationFunction="CheckData"
ControlToValidate="txtInput"
ValidationGroup="GroupA"
Display="None"

ValidationSummary
ShowMessageBox="True"
ValidationGroup="GroupA"
DisplayMode="List"
ShowSummary="False"

因為CustomValidator使用了自訂的JavaScript

所以再aspx的頁面上寫入一小段的Javascript如下

<script>
    function CheckData(source, args)
    {
        if(document.getElementById('txtInput').value == 'A')
        {
            args.IsValid = true;
        }
        else
        {
            args.IsValid = false;
        }
    }
</script>

這樣就完成自訂控制項的檢查囉。

 


 

當然,也有辦法重複利用function的處理方式與自訂錯誤訊息的處理方式

可透過參數二呃Value屬性取出CustomValidator指定的控制項值

並透過document.getElementById("CustomValidator1").errormessage的方式設定新的錯誤訊息。

參考下述程式碼。

 


<script>
    function CheckData(source, args)
    {
        if(args.Value == 'A')
        {
            args.IsValid = true;
        }
        else
        {
            source.errormessage = '你輸入的竟然是' + args.Value;
            args.IsValid = false;
        }
    }
</script>

2010-1-27 上午 01-08-52.png 

arrow
arrow
    全站熱搜

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