我有使用java脚本的自定义验证程序的aspnet应用程序。我必须比较文本框中的2个日期(txtbeginDate,txtEndDate)。 我把我的java脚本写成
Java Script:
function DateCompareClient(oSrc, args)
{
var begindt = new Date(document.getElementById('txtBeginDate').value);
var endDt = new Date(document.getElementById('txtEndDate').value);
if (begindt < endDt) {
args.valid = true;
return;
}
args.valid = false;
return;
}
<asp:CustomValidator
ID="Customvalidator3" runat="server"
ControlToValidate="txtEndDate" ErrorMessage="End Date must be later than Begin Date"
EnableClientScript="true" ClientValidationFunction="DateCompareClient"
>*</asp:CustomValidator></td>
现在,脚本运行正常,但它没有显示错误消息。 如果condition为false,它应该显示错误,哪个没有发生?
答案 0 :(得分:1)
您尝试做的事情可以在没有任何javascript的情况下完成,称为Compare Validator
<asp:CompareValidator id="compareStartAndEndDates"
ControlToValidate="txtEndDate"
ControlToCompare="txtBeginDate"
Operator="LessThan"
Text="End Date must be after Begin Date"
Type="Date"
runat="server"/>
我怀疑你的验证器从未实际开火。在你的javascript中粘贴alert()
来测试它。
在您的文本框中,您需要确保将它们设置为AutoPostBack="true"
,以便当用户离开该字段时,验证程序会启动。您可能还需要CausesValidation="true"