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错误。您在parseInt:
上缺少圆括号parseInt(document.getElementById('<%= uitxtCamLastVisitDur.ClientID%>').value < 0)
应该parseInt(document.getElementById('<%= uitxtCamLastVisitDur.ClientID%>').value) < 0)
顺便说一下,他们都有同样的问题