У меня есть текстовое поле на моей угловой форме js для продажи Цена предмета. Это поле не требуется, однако я хочу, чтобы оно проверялось на допустимый номер/десятичный ввод> 0, если пользователь помещает значение в поле. Любой недопустимый вход должен принудительно вернуть поле обратно к десятичному знаку.Угловой JS - Проверка количества Если TextField не пуст
Я пробовал несколько разных вариантов моей основной директивы validNumber, но я не могу заставить ее работать. Моя директива отлично работает, если я хочу, чтобы значение всегда требовалось для ввода.
Вот директива, которую я использую сейчас для RetailPrice, которая требуется. Я отрубил код, который я добавил, так как он не работал в любом случае.
app.directive('validNumber', function() {
return {
require: "ngModel",
link: function (scope, elm, attrs, ctrl) {
var regex = /^\d{1,3}(,\d{3})*(\.\d+)?$/;
var validator = function (value) {
ctrl.$setValidity('validNumber', regex.test(value));
return value;
};
ctrl.$parsers.unshift(validator);
ctrl.$formatters.unshift(validator);
}
};
});
Спасибо за быстрый ответ сэр. Это отлично работает для буквенно-цифровых, однако я ищу числовую/десятичную проверку для значения. –
вы меняете только ng-pattern .... напишите регулярное выражение для ваших нужд ... это непосредственно работа –
ng-pattern = "/^[1-9] \ d * (\. \ D +)? $ /" Add эта проверка хорошо работает –