2012-03-08 15 views
3

私たちは、ユーザーが日付を入力できるテキストボックスを持っています。有効な唯一の日付はMM/dd/yyyyです。すべてのトラブルを経験した後、私はMaskedEditExtenderが最良の選択だと思う。しかし、私はそれを使用するいくつかの問題があります。私のASPXコードは、以下に示します。ここ 特定の日付形式でAjax MaskedEditを使用するには?

<div> 
    Date: <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> 
    <asp:MaskedEditExtender ID="TextBox1_MaskedEditExtender" runat="server" 
     CultureAMPMPlaceholder="" CultureCurrencySymbolPlaceholder="" 
     CultureDateFormat="" CultureDatePlaceholder="" CultureDecimalPlaceholder="" 
     CultureThousandsPlaceholder="" CultureTimePlaceholder="" Enabled="True" 
     Mask="99/99/9999" MaskType="Date" TargetControlID="TextBox1"> 
    </asp:MaskedEditExtender> 
    <asp:CalendarExtender ID="TextBox1_CalendarExtender" runat="server" 
     Enabled="True" TargetControlID="TextBox1" Format="MM/dd/yyyy"> 
    </asp:CalendarExtender>   
</div> 

が私の質問です:

  1. 私はカレンダーから日付を拾うMaskedEditExtenderを、追加した後、それがテキストボックスに書き込みません。
  2. テキストボックスに日付を入力すると、01/01/2011ではなく、01-01-2011になります。これは私が望むものです。
  3. CompareValidatorまたはMaskedEditValidatorを使用しますか?私は02/29/2011のような日付が有効でないことを確認したいので。

答えて

2

あなたのコードは正しいです。私は自分でそれを試して、すべてが完璧に動作します。

このコードを別のプロジェクトソリューションで試して、他に問題がないかどうかを確認することをお勧めします。

挿入された日付を検証する必要がある場合は、おそらくMaskedEditValidatorを使用する必要があります。たとえば、いくつかの日付を比較する必要がある場合は、CompareValidatorを使用する必要があります。ここで

はMaskedEditValidatorを使用しての良い例です:

<ajaxToolkit:MaskedEditValidator ID="MV_Date" runat="server" ControlToValidate="TextBox1" 
      ControlExtender="TextBox1_MaskedEditExtender" InvalidValueMessage="Invalid Date" 
      IsValidEmpty="False" /> 
+0

MaskedEditValidatorとCompareValidatorの違いは何ですか? – GLP

+0

私が書いたように、CompareValidatorを使用して、ある入力コントロールの値を別の入力コントロールの値または固定値と比較する必要があります.MaskedEditValidatorは、入力テキストがMaskedEditエクステンダで指定されたパターンと一致することを確認します。あなたの質問のためには、MaskedEditValidatorを使用して、日付が正しいかどうかを確認する必要があります。 – Koste

0

あなたのコードは完璧に動作します。最新バージョンのajaxコントロールツールキットを追加するだけです。

関連する問題