Jquery 英国日期验证问题。 "20 / 05 / 2019不是 DateTime 的有效值"

By simon at 2019-05-20 • 0人收藏 • 17人看过

我有一个问题,试图让 jquery 验证接受一个英国格式的日期一段时间了,基本上当我添加@scripts。 渲染("~ / bundles / jqueryval")到我的部分,验证不承认我的日期字段具有有效值。

我遵循了这个指南Http://www.ablogaboutcoding.com/2017/08/12/mvc-uk-date-issues/ )试图解决这个问题,但是遇到了一个问题,我希望有人能帮忙。 此问题发生在 ModelBinder 试图将 uk 值转换为 DateTime 时。 代码如下:

我已经尝试将值转换为 DateTime (参见 var DateTime 2) & 这对 uk date 有效,但是无法应用正确的区域性。

型号活页夹:

公共类 NullableDateTimeModelBinder: IModelBinder { public object BindModel (ControllerContext ControllerContext,ModelBindingContext bindingContext){ var value bindingContext。 Valueprovider. Getvalue (bindingContext. 如果(值 null | | string.IsNullOrWhiteSpace (值)。 返回 null; bindingContext。 模式状态。 Setmodelvalue (bindingContext. 试试{ var date2 Convert.ToDateTime (value。 2. var 日期值。 Convertto (typeof (DateTime) ,Thread. 当前线程。 返回日期; } catch (Exception ex){ bindingContext。 模式状态。 Addmodelerror (bindingContext. 返回 null; }}

在 var 日期失败。 内部异常"String 未被识别为有效的 DateTime"。 消息"20 / 05 / 2019不是 DateTime 的有效值"。

如果我输入一个日期"10 / 05 / 2019",var 日期转换正确。

型号:

[ Required (ErrorMessage"Enter the planned start date of the project")][ DataType (DataType. [列(TypeName"Date")]公共日期时间? 1. 使用

查看:

Div class"form-inline"div class'input-group date mydatepicker'@html. 用于(m. FormData。 计划开始日期,新的{ title"Planned Start Date",@class"form-control",占位符"dd / mm / yyyy"}) span class"input-group-addon"span class"glyphicon glyphicon"-calendar"/ span / span / span / div

脚本:

$(文件)。 关于('click','# ajaxcreate2',function (){ var $form $('# form0')。 { rules: { FormData plannedstartdate: { datita: true }}}}) ; if ($form.valid ()){ $. Ajax ({ async: false,type:'POST',url:'ajaxCreate',datatype:"json",data: JSON.stringify ($('# form0')). Serialize () ,success: function (data){}) ; } else { var validator $('# form0'). $$. 每个(validator.errorMap,function (index,value){ $(function (){ var a value; if (a! ) toastr.error (",a) ; }) ; }) ;

登录后方可回帖

Loading...