Javascript文本框验证触发自定义验证器错误,无论值是多少

本文关键字:验证 错误 多少 文本 自定义 Javascript | 更新日期: 2023-09-27 18:12:04

我试图验证基于下拉列表的文本框,例如,如果ddl值是'Day',文本框值不能超过31。似乎无论我输入什么触发我的自定义验证器错误,我做错了什么,谢谢:

            <asp:TextBox ID="uitxtCamLastVisitDur" runat="server" CssClass="tooltip" 
                         Width="65px" Enabled="False" ToolTip="Indicates a required spending on the member's last visit."></asp:TextBox> 
            <asp:CustomValidator ID="ccvLastVisitDuration" runat="server" 
                ClientValidationFunction="validateDurationType" 
                ControlToValidate="uitxtCamLastVisitDur"
                ErrorMessage="Duration input error"></asp:CustomValidator>
function validateDurationType(src, args) {
    if (document.getElementById('<%= uiddlCamLastVisitDurType.ClientID%>').selectedIndex == 1)
        if (parseInt(document.getElementById('<%= uitxtCamLastVisitDur.ClientID%>').value < 0) || (parseInt(document.getElementById('<%= uitxtCamLastVisitDur.ClientID%>').value > 31))) {
            args.IsValid = false;
            return;
     }
     if (document.getElementById('<%= uiddlCamLastVisitDurType.ClientID%>').selectedIndex == 2)
        if (parseInt(document.getElementById('<%= uitxtCamLastVisitDur.ClientID%>').value < 0) || (parseInt(document.getElementById('<%= uitxtCamLastVisitDur.ClientID%>').value > 12))) {
            args.IsValid = false;
            return;
     }  
  args.IsValid = true;
 }

Javascript文本框验证触发自定义验证器错误,无论值是多少

你的函数有javascript错误。您在parseInt:

上缺少圆括号
parseInt(document.getElementById('<%= uitxtCamLastVisitDur.ClientID%>').value < 0)
应该

parseInt(document.getElementById('<%= uitxtCamLastVisitDur.ClientID%>').value) < 0)

顺便说一下,他们都有同样的问题