我需要对同一个文本框使用 2 个验证(它接受一个学年名称作为输入):
正则表达式验证器,允许仅以YYYY-YY格式输入名称。我有这个工作:
<asp:RegularExpressionValidator id="txtAcademicYearName_RegularExpressionValidator2" runat="server" ControlToValidate="txtAcademicYearName" ErrorMessage="Enter academic year name in format YYYY-YY" ValidationExpression="(\b19|\b20)\d\d-\d\d" ForeColor="Red" Display="None" ValidationGroup="AcademicYear"></asp:RegularExpressionValidator>
当用户输入年份名称时,to 值显然应该大于 from 值(例如 2012-13 是正确的,但 2013-12 是错误的)。我为此添加了一个客户端验证功能:
function checkAcademicYear(source, args) { alert("yeah"); var sAcadYearName = document.getElementById('<%= txtAcademicYearName.ClientID%>').value; var year = new Array; year = sAcadYearName.split("-"); var yearStart = year[0]; var yearEnd = year[1]; var checkYearStart = (sAcadYearName.charAt(2) + sAcadYearName.charAt(3)); if (yearEnd <= checkYearStart) { arguments.IsValid = false; } else { arguments.IsValid = true; }
}
AcademicYear是一个弹出窗口,单击按钮即可打开。现在,当我在文本框中输入名称作为某个字符串时,它会打开弹出窗口(它不应该这样做),但我可以在弹出窗口中看到正则表达式验证器的错误消息。
如何让这两个条件都起作用?