中設置'ClientValidationFunction'屬性我需要使用asp:CustomValidator作爲工具。我們面臨的問題是,在使用屬性「ClientValidationFunction」調用函數時,函數正在調用,但即使是單行的javascript也沒有執行。我在函數中放置了一個簡單的alert()。它也沒有執行。如何在<asp:CustomValidator>
任何人都可以請建議一個解決方案嗎? 在此先感謝
中設置'ClientValidationFunction'屬性我需要使用asp:CustomValidator作爲工具。我們面臨的問題是,在使用屬性「ClientValidationFunction」調用函數時,函數正在調用,但即使是單行的javascript也沒有執行。我在函數中放置了一個簡單的alert()。它也沒有執行。如何在<asp:CustomValidator>
任何人都可以請建議一個解決方案嗎? 在此先感謝
請參見下面的的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
}
希望這有助於.. }
確保沒有頁面上的其他JavaScript錯誤。 另外,如果您爲驗證程序添加了ControlToValidate屬性或ValidationGroup,它應該可以工作。
不需要controlToValidate作爲給驗證組本身調用clientside函數。 controlToValidate屬性不適用於自定義驗證器,因爲驗證邏輯是在另一個函數中完成的。它在必填字段驗證程序,正則表達式驗證程序等方面是強制性的。 – Harun 2011-05-13 12:04:16
您是對的,對於自定義字段不是強制性的controlToValidate。但是,如果自定義驗證程序具有controlToValidate或添加了ValidationGroup,它就會工作。我編輯了我的答案,使其更清晰。謝謝! – Shirlz 2011-05-13 12:36:09
是的,這就是我的意思是「沒有管理」。感謝您的澄清。 – Harun 2011-05-13 13:18:30
請問您可以發佈代碼示例 – 2011-05-13 11:17:49
您如何知道函數被調用? – 2011-05-13 11:18:18
Hai,Akram。感謝回覆。在使用fire bug進行調試時,會設置斷點。以便跟蹤功能。 – Anjana 2011-05-13 11:20:16