2011-05-13 40 views
0

中設置'ClientValidationFunction'屬性我需要使用asp:CustomValidator作爲工具。我們面臨的問題是,在使用屬性「ClientValidationFunction」調用函數時,函數正在調用,但即使是單行的javascript也沒有執行。我在函數中放置了一個簡單的alert()。它也沒有執行。如何在<asp:CustomValidator>

任何人都可以請建議一個解決方案嗎? 在此先感謝

+0

請問您可以發佈代碼示例 – 2011-05-13 11:17:49

+0

您如何知道函數被調用? – 2011-05-13 11:18:18

+0

Hai,Akram。感謝回覆。在使用fire bug進行調試時,會設置斷點。以便跟蹤功能。 – Anjana 2011-05-13 11:20:16

回答

1

請參見下面的的CustomValidator:

 <asp:CustomValidator ID="valCustmCheckDate" runat="server" ErrorMessage="The date difference should not be greater than 100 days" ForeColor="Red" ValidationGroup="LoginUserAdd" ClientValidationFunction="CompareStartAndEndDate"></asp:CustomValidator> 

它調用下面的下面的JavaScript函數:

function CompareStartAndEndDate(sender,args) { 

    var txtBox = document.getElementById('<%=txtBoxID.ClientID %>'); 

    var validation=//do your validation of txtBox.value here; 

    if (!validation) { 

     args.IsValid = false; //this will display your validation error msg and stops at clent side itself 
    } 
    else { 
     args.IsValid = true;// this will allow server side run 
    } 

希望這有助於.. }

+0

HAi Harun,謝謝你的迴應。函數CheckCreditDebit1(sender,args){alert(「Hai」); } 這是使用的功能。一個簡單的。我需要在這裏實現更多的登錄。但即使是警報信息也沒有出現。 – Anjana 2011-05-13 11:38:14

+0

我認爲你應該爲你的customValidator以及觸發按鈕提供驗證組。 – Harun 2011-05-13 11:43:10

+0

謝謝哈倫。它的工作現在。 – Anjana 2011-05-13 12:30:27

3

確保沒有頁面上的其他JavaScript錯誤。 另外,如果您爲驗證程序添加了ControlToValidate屬性或ValidationGroup,它應該可以工作。

+1

不需要controlToValidate作爲給驗證組本身調用clientside函數。 controlToValidate屬性不適用於自定義驗證器,因爲驗證邏輯是在另一個函數中完成的。它在必填字段驗證程序,正則表達式驗證程序等方面是強制性的。 – Harun 2011-05-13 12:04:16

+1

您是對的,對於自定義字段不是強制性的controlToValidate。但是,如果自定義驗證程序具有controlToValidate或添加了ValidationGroup,它就會工作。我編輯了我的答案,使其更清晰。謝謝! – Shirlz 2011-05-13 12:36:09

+0

是的,這就是我的意思是「沒有管理」。感謝您的澄清。 – Harun 2011-05-13 13:18:30