[英]Client Side Custom Validation isn't executing
我目前正在使用c#學習ASP.NET 4.0。 我花了大約2個小時來研究這個問題,目前我對這一切如何將其應用於自己的情況還沒有足夠的了解,因此,我需要一對一的幫助。 另外,我的錯誤很可能是非常業余的,所以請不要害怕探索這種可能性。 最后,謝謝您的輸入
我做了一個非常基本的表格,只需要對多個字段(姓名,電子郵件,確認電子郵件,家庭電話,商務電話)進行文本輸入,並在所有字段上進行驗證。 我的所有驗證工作都正常,但我似乎無法弄清楚為什么我的客戶端javascript自定義驗證(這只是要求家用電話字段或商務電話字段具有輸入)不執行任何操作的原因。 服務器端驗證工作正常(如果我將每個其他字段正確地發布到服務器上,則可以得到期望的結果,但是如果一個或多個其他字段無效,則自定義驗證不執行任何操作。)
我將嘗試發布解決問題所需的所有相關代碼:我的javascript設置了驗證是否有效(如果任一文本框具有文本)
<script type="text/javascript">
function ValidatePhoneNumbers(source, args)
{
var phoneHome = document.getElementById('<%= PhoneHome.ClientID %>');
var phoneBusiness = document.getElementById('<%= PhoneBusiness.ClientID %>');
if (phoneHome.value != '' || phoneBusiness != '')
{
args.IsValid = true;
}
else
{
args.IsValid = false;
}
}
</script>
這是我的自定義驗證標記:
<asp:CustomValidator ID="CustomValidator1" runat="server"
ClientValidationFunction="ValidatePhoneNumbers" CssClass="ErrorMessage"
Display="Dynamic" ErrorMessage="Enter Your home or business phone number"
onservervalidate="CustomValidator1_ServerValidate">*</asp:CustomValidator>
最后,這是我的兩個文本框:
<asp:TextBox ID="PhoneHome" runat="server"></asp:TextBox>
<asp:TextBox ID="PhoneBusiness" runat="server"></asp:TextBox>
您的Javascript函數中有一個小錯誤,該錯誤會導致驗證始終成功:
if (phoneHome.value != '' || phoneBusiness != '')
應替換為:
if (phoneHome.value != '' || phoneBusiness.value != '')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.