ASPNET自定义验证程序错误消息未显示

时间:2015-05-18 22:51:11

标签: javascript asp.net

我有使用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,它应该显示错误,哪个没有发生?

1 个答案:

答案 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"