asp文本框控件上必需的字段验证和当前日期验证

时间:2014-12-20 06:12:02

标签: javascript c# asp.net ajaxcontroltoolkit

我有一个控件,如:

    <asp:TextBox ID="_txtLeadDate" runat="server"></asp:TextBox>
    <AjaxControl:CalendarExtender ID="_txtLeadDate_CalendarExtender" Format="dd/MMM/yyyy" runat="server" Enabled="True" TargetControlID="_txtLeadDate"></AjaxControl:CalendarExtender><br />
    <asp:RequiredFieldValidator ID="RequirePreDate" runat="server" ControlToValidate="_txtLeadDate" ErrorMessage="Please select a Date" ForeColor="Red" Font-Size="10px" SetFocusOnError="True"></asp:RequiredFieldValidator>

现在我正在尝试添加另一个验证,即所选日期应该是过去的日期(仅当前和将来的日期)。 我怎样才能做到这一点。请帮助。

2 个答案:

答案 0 :(得分:1)

查看CustomValidator

<asp:CustomValidator id="CustomValidator1"
           ControlToValidate="_txtLeadDate"
           ClientValidationFunction="ClientValidate"
           Display="Static"
           ErrorMessage="Not an even number!"
           ForeColor="green"
           Font-Name="verdana" 
           Font-Size="10pt"
           runat="server"/>

<script language="javascript">
   <!--
   function ClientValidate(source, arguments)
   {
      var textbox = $('#<%=_txtLeadDate.ClientID%>');
      if(textbox.val() != ...)
      {
      }
   }
   // -->
</script>

答案 1 :(得分:0)

如果您使用的是ajax控件工具包,请尝试使用以下代码: aspx页面标记

<asp:CalendarExtender ID="CalendarExtender1" TargetControlID="txt" Format="MM/dd/yyyy"
    runat="server">
</asp:CalendarExtender>

并将其写入加载事件:

 CalendarExtender1.StartDate = DateTime.Now.Date;

以便所有上一个日期都会被禁用..