Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery AngularJS-Bootstrap Datepicker-Format设置为'mm yyyy',但允许用户以'mm yy'格式输入日期_Jquery_Angularjs_Twitter Bootstrap_Datepicker - Fatal编程技术网

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

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”格式,而不是强制使用

我已经在angular指令中包装了bootstrap datepicker,并在文本框中使用了它。除了验证部分外,一切似乎都正常

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

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

这是你的电话号码

要查看问题,请从datepicker中选择一个日期,以“mm yy”格式键入一个日期,然后按tab键覆盖该日期。您可以看到文本框保留“mm-yy”格式,而不是强制使用“mm-yyy”格式

 <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位数字,而是指年份的完整数字。

谢谢。我明天会试试这个,让你随时了解最新情况。