我想檢查信用卡號碼的輸入字段。如何在angularJS中將輸入字段設置爲ng-invalid
該字段應該保持無效,直到它的最小長度爲13.因爲用戶應該能夠填充字段中的空間,所以我刪除了javascript函數中的這些空格。 在這個功能我想檢查信用卡號碼(不含空格),並將其設置爲ng-invalid,只要最小長度小於13且最大長度大於16.
它應該是是這樣的:
$scope.ccHandler = function() {
if ($scope.ccNumber == '') {
document.getElementById("ccProvider").disabled = false;
}
$scope.ccNumber = inputCC.value.split(' ').join(''); //entfernt die Leerzeichen aus der Kreditkartennummer vor der übergabe an den Server
console.log("das ist meine CC: " + $scope.ccNumber);
isValidCreditCardNumber($scope.ccNumber);
getCreditCardProvider($scope.ccNumber);
document.getElementById("ccProvider").disabled = true;
if ($scope.ccNumber.length < creditCardNumberMinLength || $scope.ccNumber.length > creditCardNumberMaxLength) {
//$scope.ccNumber.ng-invalid = true;
console.log("ccNumber ist noch ungültig!");
//document.getElementById("inputCC").$setValidity("ccNumber", false);
}
}
這將是XHTML的部分:
<div class="form-group" ng-switch-when="CreditCard">
<label class="col-xs-3 col-sm-3 control-label">Kreditkartennummer</label>
<div class="col-xs-5 col-sm-5 col-md-5">
<input name="ccNumber" class="form-control" type="text" id="inputCC" ng-change="ccHandler();updateCount()" ng-model="ccNumber" ng-required="true"/>
</div>
</div>
我怎樣才能做到這一點?
請使用'NG -disabled'而不是'document.getElementById(「ccProvider」)。disabled' –
你可能想要che ck取出角度ui的掩碼指令:http://angular-ui.github.io/ui-utils/#/mask –