以下は、asp.netで日付を選択するために使用しているコードです
テキスト ボックスを使用して日付と画像を表示し、カレンダー アイコンを表示し、Ajax カレンダー エクステンダーを使用して日付を形式で選択していますdd-mmm-yyyy
。
<asp:TextBox ID="txtReqCompDate" runat="server"
ToolTip="Select Analysis Required Date" CssClass="formtext"
CausesValidation="True">
</asp:TextBox>
<asp:ImageButton ID="ibReqCompletionDate" runat="server"
ImageUrl="~/Images/Calendar.png" ImageAlign="AbsBottom" Height="15px" />
<asp:RequiredFieldValidator ID="RequiredFieldValidator5" runat="server"
ControlToValidate="txtReqCompDate" Display="Dynamic" Text="Required"
ErrorMessage="Analysis Required Date" ValidationGroup="valProjForm"
SetFocusOnError="True" Font-Size="Smaller">
</asp:RequiredFieldValidator>
<asp:CompareValidator runat="server" ID="cmp1"
ErrorMessage="The date must be greater than todays date"
ControlToValidate="txtReqCompDate" Type="Date" Operator="GreaterThan" />
<cc1:CalendarExtender ID="CalendarExtender1" runat="server"
PopupButtonID="ibReqCompletionDate"
TargetControlID="txtReqCompDate" Format="dd-MMM-yyyy" Enabled="True">
</cc1:CalendarExtender>
この行をページの読み込みで使用しても無駄です。
cmp1.ValueToCompare = DateTime.Now.ToShortDateString();
comparevalidator を使用して今日より前の日付を選択した場合に、すぐにメッセージを表示する方法を教えてください。
Web サイトのいくつかのページで同様の機能が必要です。また、同じページで、txtReqCompDate より大きい日付を選択します。
または、.net 2.0 でコーディングしているため、現在のコード機能に影響を与えずに、ajax calenderextender で以前の日付を無効にし、Ajax エクステンダーで現在の日付より前の日付を表示する方法を提案してください。
ここでの私の主な問題は、日付が今日の日付よりも小さい場合、および日付が現在の日付よりも大きい場合でも、検証を示しています。使用するバリデータ、比較、または範囲に関係なく、常にエラーメッセージを表示します