Date validation using MaskedEditExtender

632 Views Asked by At

I am using Ajax for maskededitextender as well as javascript for my date field. Now in that if i insert date like 12/12/2013 then it allows me to insert. But if i insert 13/12/2013 or 12/13/2013 validation occurs Date is not valid. This is happening because format of javascript and format of MaskedEditValidator conflicts with each other. My format of javascript date validator is as below

 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))))$/;

and my maskededitvalidator is as below

 <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

There are 1 best solutions below

1
On

Check this Link my friend, i guess the problem is with the format of javascript date validator.

Try this validator in the Fiddle 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)

Why don't you use the date validator format in regular expression validator?

And in the MaskedEditExtender UserDateFormat="MonthDayYear" it works..!!