2012-03-08 3 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

코드가 정확합니다. 나는 그것을 스스로 시도하고 모든 것이 완벽하게 작동합니다.

그래서 다른 문제가 있는지 확인하기 위해 별도의 프로젝트 솔루션에서이 코드를 사용해 보시기 바랍니다.

약 3 번째 질문입니다. 삽입 된 날짜의 유효성을 검사해야하는 경우 MaskedEditValidator를 사용해야합니다. 일부 날짜를 비교해야하는 경우 CompareValidator를 사용해야합니다.

<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 Extender에 지정된 패턴과 일치하는지 확인합니다. 그래서 귀하의 질문에 MaskedEditValidator를 사용하여 날짜가 올바른지 확인해야합니다. – Koste

0

귀하의 코드가 완벽하게 작동합니다 : 여기

는 MaskedEditValidator를 사용하는 좋은 예입니다. 최신 버전의 Ajax 컨트롤 툴킷을 추가하기 만하면됩니다.

관련 문제