gpt4 book ai didi

jquery - AngularJS - Bootstrap Datepicker - 格式设置为 'mm-yyyy' 但允许用户以 'mm-yy' 格式输入日期

转载 作者:行者123 更新时间:2023-12-01 01:33:26 25 4
gpt4 key购买 nike

我已将 Bootstrap 日期选择器包装在 Angular 指令中,并在文本框上使用它。除了验证部分之外,一切似乎都正常。

我已将其设置为接受“mm-yyyy”格式的日期,但它仍然允许我覆盖并手动输入“mm-yy”或“mm-somenumber”格式的日期。

如何防止用户以“mm-yyyy”以外的格式输入日期?

这是Plunker link

要查看该问题,请从日期选择器中选择一个日期,然后通过键入“mm-yy”格式的日期并按 Tab 键来覆盖它。您可以看到文本框保留“mm-yy”格式,而不是强制使用“mm-yyyy”格式。

 <input type="text" ng-model="date" datepicker/>

app.directive('datepicker', [function () {
return {
restrict: 'A',
require: 'ngModel',
link: function (scope, element, attrs, ngModelCtrl) {

element.datepicker({
format: "mm-yyyy",
minViewMode: 1,

//viewMode: "months",
//minViewMode: "months",

orientation: "top left",
autoclose: true,
onSelect: function (date) {
ngModelCtrl.$setViewValue(date);
scope.$apply();
}
});
}
};
}]);

谢谢

最佳答案

您可以像这样设置startDateendDate:

element.datepicker({
format: "mm-yyyy",
minViewMode: "months", // or 1
startDate: "01-1000",
endDate: "12-9999",
});

Plunker 示例: http://plnkr.co/edit/2jTxvNkWy7AmQgnZ9G0R?p=preview

我认为格式字符串中的yyyy并不表示4位数字,而是表示完整的年份。

关于jquery - AngularJS - Bootstrap Datepicker - 格式设置为 'mm-yyyy' 但允许用户以 'mm-yy' 格式输入日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25386991/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com