客户端验证功能未被调用

时间:2014-08-27 08:28:56

标签: javascript asp.net validation

我想在同一个asp.net页面上验证两个文本框,每个文本框都有相应的客户端验证功能。
我在asp.net表单的head部分中引用了一个外部js文件。
其中一个要验证的文本框是运行良好的日期。也就是说,当输入无效日期时,它会显示错误消息。但是无法调用其他文本框的功能。
这是我的asp.net标记:

 <asp:CustomValidator ID="CustomValidator2" runat="server" 
                                ClientValidationFunction="validateDate" ControlToValidate="txtdate" 
                                Display="Dynamic" ErrorMessage="CustomValidator" ForeColor="Red" 
                                ValidationGroup="a" onservervalidate="CustomValidator2_ServerValidate">تاریخ نامعتبر</asp:CustomValidator>
                            <asp:TextBox ID="txtdate" runat="server" Width="120px"></asp:TextBox>

  <asp:CustomValidator ID="CustomValidator1" runat="server" 
                                ClientValidationFunction="validatePhoneNumber" ControlToValidate="txtphone" 
                                Display="Dynamic" ErrorMessage="CustomValidator" ForeColor="Red" 
                                onservervalidate="CustomValidator1_ServerValidate1" ValidationGroup="a" 
                                >تلفن نامعتبر</asp:CustomValidator>
                            <asp:TextBox ID="txtphone" runat="server" Width="120px"></asp:TextBox>

日期的客户端验证发生但是对于电话,它没有。顺便说一下,这是我的客户端javascript文件的内容:

function validateDate(oSrc, args) {
    var iDay, iMonth, iYear;
    var arrValues;
    arrValues = args.Value.split("/");
    iMonth = arrValues[1];
    iDay = arrValues[2];
    iYear = arrValues[0];

    var testDate = new Date(iYear, iMonth - 1, iDay);
    if ((testDate.getDate() != iDay) ||
      (testDate.getMonth() != iMonth - 1) ||
      (testDate.getFullYear() != iYear)) {
        args.IsValid = false;
        return;
    }

    return true;

}

function validatePhoneNumber(oSrc, args) {
    if (args.Value.Length < 7) args.IsValid = false;
    if (isNaN(parseInt(args.value, 10))) args.IsValid = false;
    return true;
}

这对我来说太令人沮丧了!

0 个答案:

没有答案