Jquery datepicker 采用美国日期格式进行验证

     2023-03-30     175

关键词:

【中文标题】Jquery datepicker 采用美国日期格式进行验证【英文标题】:Jquery datepicker taking US date format for validation 【发布时间】:2012-05-29 05:23:05 【问题描述】:

如果我选择日期 >12,我会在 chrome 上收到验证消息我使用了带有语法的本地化日期选择器

var abc = $("#culture").val();
        $.datepicker.setDefaults($.datepicker.regional[""]);

        $("#dob").datepicker(
            changeMonth: true,
            changeYear: true,
            dateFormat: 'dd-mm-yy',
            yearRange: '-90:-15',
            defaultDate: '-90y'

        );
        $.datepicker.setDefaults($.datepicker.regional[abc]);

另一个问题:我在控制器上以不受欢迎的格式获取日期,这就是为什么我的数据库包含错误的条目(日期代替月份和月份代替日期)..建议我可能的解决方案...

我发现相关的是LINK 1

Link2

Link 3

但以上都不起作用...

【问题讨论】:

【参考方案1】:

首先,如果您使用的是 MVC,并且您显示了来自服务器的某个日期,您应该显示如下日期:

@Html.TextBox("InsertDate", Model.InsertDate.ToString("dd/MM/yyyy"), new  @class = "date" )

在你的 jquery 中:

$('.date').datepicker( dateFormat: "dd/mm/yy" ).val();

如果您的文化是美国文化,则 ModelState.IsValid 将中断。 一个肮脏的黑客是这样的:

var insertDateStr = ModelState.Values.ToList()[3].Value.AttemptedValue;
var insertDate = DateTime.ParseExact(insertDateStr, "dd/MM/yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None);

最后,对于 chrome 上的红色,只需在文本框样式中添加背景颜色白色即可。

@Html.TextBox("InsertDate", Model.InsertDate.ToString("dd/MM/yyyy"), new  @class = "date", @style = "background-color: white;" )

它很脏,但它可以工作..

【讨论】:

【参考方案2】:

解决方案不是那么简单,您最终应该覆盖 jquery 验证规则。我建议使用这里 MVC 3 jQuery Validation/globalizing of number/decimal field

中所述的 Globalize 插件

【讨论】:

【参考方案3】:

试试这个:

$("#dob").datepicker(
    changeMonth: true,
    changeYear: true,
    dateFormat: 'mm-dd-yy',
    yearRange: '-90:-15',
    defaultDate: '-90y'
);  

var abc = $("#culture").val();  

$("#dob").datepicker("setDate", new Date(abc));

$("#dob").datepicker(
    changeMonth: true,
    changeYear:  true,
    dateFormat:  'dd-mm-yy',
    yearRange:   '-90:-15',
    defaultDate: '-90y'
);

否则,您可以将日期作为字符串,然后转换为所需的格式。

如果您使用 jQuery 运行,则可以使用 datepicker UI 库的 parseDate 函数将字符串转换为日期:

var d = $.datepicker.parseDate("DD, MM dd, yy",  "Sunday, February 28, 2010");

然后用formatDate方法跟进,得到你想要的字符串格式:

var datestrInNewFormat = $.datepicker.formatDate( "mm/dd/yy", d);

如果您没有使用 jQuery,当然这可能不是最好的计划,因为您需要 jQuery 核心以及 datepicker UI 模块...最好遵循上面 Segfault 的建议来使用 date.js .

【讨论】:

【参考方案4】:

如果您希望 ASP.Net 以 "dd-MM-yyyy" 格式确认日期,请在 web.config 中使用 <globalization culture="en-GB"/>

reference

【讨论】:

jQuery datepicker 验证失败

】jQuerydatepicker验证失败【英文标题】:jQuerydatepickervalidationfail【发布时间】:2015-10-2916:18:10【问题描述】:有一个包含jQueryDatepicker的表单。日期格式为英国格式(日/月/年),但是如果第一个数字(应该是日期)大于12,则日期... 查看详情

Apache Zeppelin - 角度单元格中的 Jquery datepicker 不起作用

】ApacheZeppelin-角度单元格中的Jquerydatepicker不起作用【英文标题】:ApacheZeppelin-Jquerydatepickerinangularcelldoesn\'twork【发布时间】:2021-10-0309:26:15【问题描述】:第一次发问题,我会尽量做对的。我正在尝试在Zeppelin笔记本中使用日期... 查看详情

JQuery datepicker 默认日期和多个 datepicker

】JQuerydatepicker默认日期和多个datepicker【英文标题】:JQuerydatepickerdefaultdateandmultipledatepickers【发布时间】:2020-04-1001:55:06【问题描述】:我正在使用这个日期选择器https://jqueryui.com/datepicker/我在同一个html表单中有2个日期字段。... 查看详情

Jquery DatePicker 设置默认日期

】JqueryDatePicker设置默认日期【英文标题】:JqueryDatePickerSetdefaultdate【发布时间】:2013-01-1221:30:28【问题描述】:我有两个日期字段,我使用DatePicker来选择日期。对于第一个日期字段,我希望将今天的日期作为默认日期。对于第... 查看详情

jquery datepicker 在当前日期或选定日期

】jquerydatepicker在当前日期或选定日期【英文标题】:jquerydatepickeroneithercurrentdateorselecteddate【发布时间】:2012-12-1812:52:20【问题描述】:我有一个jquerydatepicker,如果没有选择今天的日期,我想实现它。如果选中,则使用单个日期... 查看详情

JQuery Datepicker 获取选定日期

】JQueryDatepicker获取选定日期【英文标题】:JQueryDatepickerGetSelectedDate【发布时间】:2013-06-2117:29:03【问题描述】:我目前正在使用2个单独的JQuery日期选择器,我已经修改了格式以便能够通过以存储在后端MySQL数据库中。<script>... 查看详情

如何计算今天日期和jquery datepicker之间的日期

】如何计算今天日期和jquerydatepicker之间的日期【英文标题】:Howcountdatebetweendatetodayandjquerydatepicker【发布时间】:2021-07-2411:14:04【问题描述】:我需要获取今天数据和数据日期选择器之间的年数。我的计数功能不起作用。jQuery日... 查看详情

jQuery Datepicker 在选定日期后关闭 datepicker

】jQueryDatepicker在选定日期后关闭datepicker【英文标题】:jQueryDatepickerclosedatepickerafterselecteddate【发布时间】:2014-07-2506:20:49【问题描述】:HTML:<divclass="container"><divclass="hero-unit"><inputtype="text"placeholder="clic 查看详情

在 jQuery datepicker 中设置最小日期

】在jQuerydatepicker中设置最小日期【英文标题】:SettingmindateinjQuerydatepicker【发布时间】:2012-04-2517:33:56【问题描述】:您好,我想在我的jQuery日期选择器中将最小日期设置为(1999-10-25)。所以我尝试了下面的代码它不起作用。$(func... 查看详情

jQuery data('datepicker').getDate() 返回无效日期

】jQuerydata(\\\'datepicker\\\').getDate()返回无效日期【英文标题】:jQuerydata(\'datepicker\').getDate()returnInvaliddatejQuerydata(\'datepicker\').getDate()返回无效日期【发布时间】:2018-05-0318:00:21【问题描述】:我有这个用于日期的输入。<inputid="tx... 查看详情

JQuery Datepicker - 没有默认日期

】JQueryDatepicker-没有默认日期【英文标题】:JQueryDatepicker-nodefaultdate【发布时间】:2011-04-0918:14:25【问题描述】:我想删除我的JQueryDatepicker中的默认日期。我尝试以下代码:$(this).datepicker(defaultDate:\'\');但它似乎不起作用。今天... 查看详情

jquery datepicker - 避免手动输入日期

】jquerydatepicker-避免手动输入日期【英文标题】:jquerydatepicker-avoidmanualtypingofadate【发布时间】:2013-09-1707:49:23【问题描述】:我正在使用jQuery的DatePicker插件并设置了minDate属性。单击输入字段时,这在DatePicker-Popup中有效。但是... 查看详情

JQuery Datepicker - onSelect 日期格式

】JQueryDatepicker-onSelect日期格式【英文标题】:JQueryDatepicker-onSelectDateFormat【发布时间】:2014-01-0406:23:41【问题描述】:使用这个:$(function()$("#datepicker").datepicker(onSelect:function(date)varlinks="http://google.co.uk/";window.location. 查看详情

DatePicker [ eyecon ] 设置日期范围 jquery/javascript

】DatePicker[eyecon]设置日期范围jquery/javascript【英文标题】:DatePicker[eyecon]setarangeofdatejquery/javascript【发布时间】:2012-09-1212:59:11【问题描述】:我正在使用多月Datepicker我无法明确设置日期范围。例如,我必须在单击某些按钮时显... 查看详情

JQuery datePicker 日期重置

】JQuerydatePicker日期重置【英文标题】:JQuerydatePickerdatereset【发布时间】:2011-06-2212:18:01【问题描述】:我想在日历底部的日期选择器中添加一个“重置”控件-“关闭”控件所在的位置。这将使用户能够将绑定到datepicker的输入... 查看详情

防止在选定的 Jquery Datepicker 日期上选择日期

】防止在选定的JqueryDatepicker日期上选择日期【英文标题】:PreventdateselectiononJqueryDatepickerdateselected【发布时间】:2013-11-0805:08:48【问题描述】:我浏览了这个链接jquerydatepickerpreventnativeclickinonSelect$(this).datepicker(minDate:0,beforeShowDay:... 查看详情

JQUERY Datepicker - 从 datepicker 选择日期后验证错误不会消失

】JQUERYDatepicker-从datepicker选择日期后验证错误不会消失【英文标题】:JQUERYDatepicker-validationerrordoesn\'tgoawayafterselectingadatefromdatepicker【发布时间】:2018-07-0621:06:09【问题描述】:我正在使用jquerydatepicker,它似乎存在一些验证错误... 查看详情

突出显示 jQuery datepicker 日期

】突出显示jQuerydatepicker日期【英文标题】:HighlightingjQuerydatepickerdate【发布时间】:2012-12-1104:49:23【问题描述】:使用jQueryDatepicker,与本页相关http://keith-wood.name/datepick.html我想突出显示数组给出的指定日期ex:array("2012-12-24"=>"re... 查看详情