Я использую директиву ввода в AngularJS и хочу установить для нее минимальное значение. Я понимаю, что если введено значение, меньшее, чем мин, на ngModelController отображается ошибка.Директива по угловому вводу не работает в IE8 и IE9
Я создал this plunker с двумя тестами, которые выглядит следующим образом:
describe("myProblem", function() {
var ctrl;
beforeEach(inject(function ($compile, $rootScope) {
var scope = $rootScope.$new();
scope.qty = 100;
var el = angular.element('<input ng-model="qty" type="number" min="0" step="1" placeholder="0" />');
$compile(el)(scope);
scope.$digest();
ctrl = el.controller("ngModel");
}));
it("should have a validation error when the entered value is below the min", function() {
expect(ctrl.$valid).toBe(true);
ctrl.$setViewValue("-1");
expect(ctrl.$valid).toBe(false);
});
it("should have an $error with key of min when entered value is below min", function() {
expect(ctrl.$error.min).toBe(false);
ctrl.$setViewValue("-1");
expect(ctrl.$error.min).toBe(true);
});
});
Испытания проходят в Chrome и IE10 +, но не в IE8 и IE9 (который я должен поддержать).
Престижность любому, кто может мне сказать почему?
Просто FYI, что переменная «scope» в вызове 'beforeEach()' должна (я думаю) быть явно объявлена с помощью 'var'. – Pointy
Хорошее место! Мои навыки копирования и пасты уменьшаются. Изменено здесь и в плунге. – Fordio
Ввод номера типа не поддерживается IE 8 и IE 9. Вот ссылка http://caniuse.com/#feat=input-number –