2011-11-29 7 views
0

다음을 dd-MMM-yyyy로 유효하게하려고합니다.MaskedEditValidator가 제대로 작동하지 않는 이유는 무엇입니까?

캘린더 확장기는이 형식을 텍스트 상자로 전달하지만 텍스트 상자에는 표시되지 않습니다.

검증 메시지는 순식간에 대해 표시 한 다음 표시되는 모든 마크는 다시
__-___-____

예제 코드입니다 :

<ajaxToolkit:CalendarExtender runat="server" Format="dd-MMM-yyyy" 
    TargetControlID="DOB" /> 

<ajaxToolkit:MaskedEditValidator ID="DOBMaskedEditValidator" 
    EmptyValueBlurredText="DOB required" EmptyValueMessage="DOB required" 
    InvalidValueBlurredMessage="DOB invalid" InvalidValueMessage="DOB invalid" 
    runat="server" ControlExtender="DobMaskedEditExtender" 
    SetFocusOnError="true" Display="Dynamic" ControlToValidate="DOB" 
    IsValidEmpty="false" /> 

<ajaxToolkit:MaskedEditExtender ID="DobMaskedEditExtender" runat="server" 
    MaskType="Date" TargetControlID="DOB" Mask="99-LLL-9999" CultureName="en-GB" 
    ClearMaskOnLostFocus="false" /> 

내가 할 수있는 다양한 예제를 찾고 있지만 봤는데 문제가 무엇인지 파악하지 못하는 것 같습니다. 누구든지 사용자 정의 날짜 형식을 사용하여 아이디어를 얻었습니까? MaskType = 사용자 정의 날짜 형식의 날짜를 사용해야합니까?

+0

덕분에, 같은 :)을하고 있었다 – Andrew

답변

1

죄송합니다. 나는 ValidationExpression 속성을 놓쳤다. MaskedEditExtender 형식을 지정했기 때문에 그것이 유효성 검사기와 함께 사용 되기는하지만 생각합니다.

정규 표현식 아래와 같이 표시 예 밖으로의 많은 :

"^(0?[1-9]|[12][0-9]|3[01])-(jan|Jan|JAN|feb|Feb|FEB|mar|Mar|MAR|apr|Apr|APR|may| 
May|MAY|jun|Jun|JUN|jul|Jul|JUL|aug|Aug|AUG|sep|Sep|SEP|oct|Oct|OCT|nov|Nov|NOV| 
dec|Dec|DEC)-(19|20)\d\d\s([0-1][0-9]|[2][0-3]):([0-5][0-9])$" 

그러나 나는이 그래서 더 기본적인 하나 갔을 여러 언어로 작동해야합니다

"(^\d{2}\-?\w{3}\-?\d{4}$)" 

이를 이제 잘 작동합니다.

완벽하게 작동 예 : 편집 그레이엄에 대한

<ajaxToolkit:CalendarExtender runat="server" Format="dd-MMM-yyyy" 
TargetControlID="DOB"></ajaxToolkit:CalendarExtender> 
<ajaxToolkit:MaskedEditValidator ID="DOBMaskedEditValidator" 
ValidationExpression="(^\d{2}\-?\w{3}\-?\d{4}$)" 
EmptyValueBlurredText="<%$Resources:Resource,DOBRequired%>" 
EmptyValueMessage="<%$Resources:Resource,DOBRequired%>" 
InvalidValueBlurredMessage="<%$Resources:Resource,DOBInvalid%>" 
InvalidValueMessage="<%$Resources:Resource,DOBInvalid%>" 
runat="server" ControlExtender="DobMaskedEditExtender" 
SetFocusOnError="true" Display="Dynamic" ControlToValidate="DOB" 
IsValidEmpty="false"></ajaxToolkit:MaskedEditValidator> 
<ajaxToolkit:MaskedEditExtender ID="DobMaskedEditExtender" 
ClearTextOnInvalid="false" runat="server" TargetControlID="DOB" 
Mask="99-LLL-9999" CultureName="en-GB" ClearMaskOnLostFocus="false" > 
</ajaxToolkit:MaskedEditExtender> 
관련 문제