Jquery AngularJS-Bootstrap Datepicker-Format设置为'mm yyyy',但允许用户以'mm yy'格式输入日期
我已经在angular指令中包装了bootstrap datepicker,并在文本框中使用了它。除了验证部分外,一切似乎都正常 我已将其设置为接受“mm yyyy”格式的日期,但它仍然允许我覆盖并手动输入“mm yy”或“mm somenumber”格式的日期 如何防止用户以“mm yyyy”以外的格式输入日期 这是你的电话号码 要查看问题,请从datepicker中选择一个日期,以“mm yy”格式键入一个日期,然后按tab键覆盖该日期。您可以看到文本框保留“mm-yy”格式,而不是强制使用“mm-yyy”格式Jquery AngularJS-Bootstrap Datepicker-Format设置为'mm yyyy',但允许用户以'mm yy'格式输入日期,jquery,angularjs,twitter-bootstrap,datepicker,Jquery,Angularjs,Twitter Bootstrap,Datepicker,我已经在angular指令中包装了bootstrap datepicker,并在文本框中使用了它。除了验证部分外,一切似乎都正常 我已将其设置为接受“mm yyyy”格式的日期,但它仍然允许我覆盖并手动输入“mm yy”或“mm somenumber”格式的日期 如何防止用户以“mm yyyy”以外的格式输入日期 这是你的电话号码 要查看问题,请从datepicker中选择一个日期,以“mm yy”格式键入一个日期,然后按tab键覆盖该日期。您可以看到文本框保留“mm-yy”格式,而不是强制使用
<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();
}
});
}
};
}]);
谢谢您可以这样设置startDate和endDate:
element.datepicker({
format: "mm-yyyy",
minViewMode: "months", // or 1
startDate: "01-1000",
endDate: "12-9999",
});
示例Plunker:
我认为格式字符串中的yyyy不是指4位数字,而是指年份的完整数字。谢谢。我明天会试试这个,让你随时了解最新情况。