javascript - 客户端自定义验证未执行

标签 javascript c# asp.net validation

我目前正在学习使用 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 != '')

关于javascript - 客户端自定义验证未执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36483035/

相关文章:

javascript - 如何从 moment.tz 对象中获取唯一的时区名称?

javascript - 我无法理解leetcode 70中javascript的DP解决方案

c# - Response.OutputStream.Write 中的 "The remote host closed the connection"

c# - 在多维数组和单个数组之间存储数据的最有效方法是什么?

javascript - 如果我的字符串测试函数的输入为空,则返回 false

Javascript 函数在 chrome 中不起作用

c# - 循环内的外部变量如何与 lambda 一起使用?

c# - GridView ButtonField 单击是否会导致回发?

ASP.NET/SQL 2008 性能问题

c# - c# 中 asp.net 代码隐藏的变量作用域(希望是简单的!)