Я работаю над страницей, которая принимает 4-значный (ровно 4-значный) пин от пользователей. Как то так.
<input type="number" ng-model="passCode" class="form-control" onpaste="return false" id="passCodeField" ng-disabled="!enablePassCode" ng-change="onInputPasscode()" ng-keypress="onKeyPressPasscode($event)"/>
Функция onKeyPressPasscode
$scope.onKeyPressPasscode = function($event) {
if(isNaN(String.fromCharCode($event.which || $event.keyCode))){
$event.preventDefault();
}
}
Функция onInputPasscode ():
$scope.onInputPasscode = function() {
if ($scope.passCode.toString().length > 4){
$scope.passCode = $scope.passcode;
}
if($scope.passCode.toString().length == 4) {
$scope.passcode = $scope.passCode;
$scope.disableContinue = false;
session.put('pinFlow',true);
} else {
console.log("current length - " + $scope.passCode);
$scope.disableContinue = true;
session.put('pinFlow',false);
}
}
Это сбой, когда на входе все нули. Т.е. текущая длина не обновляется, следовательно, пользователю разрешено вводить столько нулей, сколько он хочет. Как мне взять 4-значные нули в качестве входных данных и при этом соответствовать имеющимся у меня проверкам?
Это в угловой 1.5.8v. И я не эксперт в AngularJS
. Так что любая помощь будет оценена. Кроме того, пожалуйста, дайте мне знать, если нужна какая-либо другая информация Я обновлю ответ соответственно.
Заранее спасибо.