簡體   English   中英

javascript文本框驗證觸發自定義驗證器錯誤,無論其值如何

[英]javascript textbox validation fires custom validator error regardless of value

我正在嘗試基於下拉列表驗證文本框,例如,如果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錯誤。 您在parseInt上缺少括號:

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

應該

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

順便說一下,所有這些人都有相同的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM