Проверка даты с использованием MaskedEditExtender

Я использую Ajax за maskededitextender так же как javascript для моего поля даты. Теперь в том, что если я вставлю дату как 12/12/2013 тогда это позволяет мне вставить. Но если я вставлю 13/12/2013 или же 12/13/2013 проверка происходит Дата не действительна. Это происходит потому, что формат javascript и формат MaskedEditValidator конфликтует друг с другом. Мой формат валидатора даты в JavaScript таков, как показано ниже

 var fromdatePat =  /^(((0[1-9]|[12]\d|3[01])\/(0[13578]|1[02])\/((19|[2-9]\d)\d{2}))|((0[1-9]|[12]\d|30)\/(0[13456789]|1[012])\/((19|[2-9]\d)\d{2}))|((0[1-9]|1\d|2[0-8])\/02\/((19|[2-9]\d)\d{2}))|(29\/02\/((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))))$/;

и мой маскарадедвалидатор, как показано ниже

 <ajax:MaskedEditValidator SetFocusOnError="true" ID="MaskedEditValidator2" runat="server"
 ControlExtender="MaskedEditExtender1" Style="vertical-align:middle;" 
 CssClass="custom_validate_message" ControlToValidate="txtduedate" 
 EmptyValueMessage="Date is required" InvalidValueMessage="Date is invalid" 
 Display="Dynamic" TooltipMessage="Please Insert Date" EmptyValueBlurredText="*" 
 InvalidValueBlurredMessage="Sorry Invalid Date" 
 ClientValidationFunction="txt_duedate_validate_client" 
 OnServerValidate="txt_duedate_validate_server" ValidationGroup="MKE">  
 </ajax:MaskedEditValidator>

1 ответ

Проверьте эту ссылку, мой друг, я думаю, проблема в формате валидатора даты в JavaScript.

Попробуйте этот валидатор в скрипке http://jsfiddle.net/LSsMc/

(/^(((0[13578]|1[02])\/(0[1-9]|[12]\d|3[01])\/((19|[2-9]\d)\d{2}))|((0[13456789]|1[012])\/(0[1-9]|[12]\d|30)\/((19|[2-9]\d)\d{2}))|(02\/(0[1-9]|1\d|2[0-8])\/((19|[2-9]\d)\d{2}))|(02\/29\/((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))))$/g)

Почему вы не используете формат валидатора даты в валидаторе регулярных выражений?

И в MaskedEditExtender UserDateFormat="MonthDayYear" это работает..!!

Другие вопросы по тегам