0
我使用的角度引导UI Timepicker,如果我进入小时字段50
,它突出了场红,但尽管如此,我得到一个有效的日期出来的,看起来就像那Tue Nov 15 2016 05:00:55 GMT+0100
。角度引导UI Timepicker输入无效的时间
任何想法我可以做什么?谢谢!
我使用的角度引导UI Timepicker,如果我进入小时字段50
,它突出了场红,但尽管如此,我得到一个有效的日期出来的,看起来就像那Tue Nov 15 2016 05:00:55 GMT+0100
。角度引导UI Timepicker输入无效的时间
任何想法我可以做什么?谢谢!
对于这个问题,你可以考虑限制小时和分钟输入值,这里是如何自定义为Timepicker
1)引入定制模板和hour
指定min
,max
和validate-value
属性和minute
输入元件,例如:
<input type="text" placeholder="HH" validate-value min="1" max="12" ng-model="hours" ng-change="updateHours()" class="form-control text-center" ng-readonly="::readonlyInput" maxlength="2" tabindex="{{::tabindex}}" ng-disabled="noIncrementHours()" ng-blur="blur()">
2)实施validate-value
指令可限制在输入元件的数目的值:
.directive('validateValue', function() {
return {
require: 'ngModel',
link: function(scope, element, attrs, ngModelCtrl) {
ngModelCtrl.$parsers.unshift(function(viewValue) {
var min = Number(eval(attrs.min));
var max = Number(eval(attrs.max));
var value = Number(viewValue);
var valid = (!isNaN(value) && value >= min && value <= max);
if (!valid) {
var currentValue = ngModelCtrl.$modelValue.toString();
ngModelCtrl.$setViewValue(currentValue);
ngModelCtrl.$render();
return currentValue;
}
else {
return viewValue;
}
});
}
};
})
谢谢,但有简单的引导配置做的没有“原生”的方式?你在这里解释的可能会起作用。我会尽快测试它。 – molerat
根据[设置页面](https://angular-ui.github.io/bootstrap/),可以指定'max'和'min'来设置用户可以选择的最大和最小时间,但不幸的是这些设置不会阻止用户输入无效值。 –
所以我没有尝试过你的。我只是console.logged错误的时间对象。无效时,直接来自时间选择器的结果似乎为空。好像我使用过之前修改过的另一个时间对象。无论如何,感谢您的努力。 – molerat