0

我正在使用Ajaxformaskededitextender以及javascript我的日期字段。现在,如果我插入日期,12/12/2013那么它允许我插入。但是如果我插入13/12/201312/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))))$/;

我的 maskededitvalidator 如下

 <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>
4

1 回答 1

0

检查此链接我的朋友,我想问题出在 javascript 日期验证器的格式上。

在 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)

为什么不在正则表达式验证器中使用日期验证器格式?

在 MaskedEditExtender UserDateFormat="MonthDayYear" 中它可以工作..!!

于 2013-11-30T10:06:40.530 回答