我正在尝试根据下拉列表验证文本框,例如如果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;
}
答案 0 :(得分:0)
您的功能有javascript错误。你在parseInt上缺少括号:
parseInt(document.getElementById('<%= uitxtCamLastVisitDur.ClientID%>').value < 0)
应该是
parseInt(document.getElementById('<%= uitxtCamLastVisitDur.ClientID%>').value) < 0)
顺便说一下,所有这些都有同样的问题。