/ / Sprawdź poprawność modelu angularjs przed ustawieniem wartości - javascript, angularjs

Sprawdź poprawność modelu angularjs przed ustawieniem wartości - javascript, angularjs

Mam pole wprowadzania, w którym dozwolone są tylko liczby dodatnie.

<input id="charge-hours" type="text" class="charge-position-hours-edit" placeholder="0" ng-model="charge.hours">

Jak kontrolować ustawienia modelu ng.

Chciałbym napisać warunek wstępny przed wartością ustawioną w zakresie. Coś jak

$scope.precondition = function (value) {
if (!isNan(value)) {
$scope.value=value;
}else{
//do nothing
}
}

Czy jest to możliwe w javascript / angularjs? W jave byłby do tego nastawiony.

EDYTOWAĆ

Moje pytanie nie było wystarczająco jasne.

Naprawdę chcę, aby tylko liczby dodatnie można było wpisać w polu wejściowym i tylko liczby dodatnie powinny być powiązane z modelem ng angularjs.

Czy istnieje sposób, aby zapisać oldValue, jeśli użyję ng? Wtedy mogę napisać coś takiego

if (condition===true) //ok
else $scope.value=oldValue;

Odpowiedzi:

0 dla odpowiedzi № 1

jeśli Twoim problemem jest upewnienie się, że wartość jest liczbą całkowitą i dodatnią, możesz użyć HTML5 do sprawdzenia tego.

Sprawdź ten link numer.

Aby sprawdzić poprawność numeru, możesz użyć ng-change dyrektywę, aby to kontrolować, jeśli chcesz więcej kontroli, użyj kluczowanie.

Zastanów się także, czy nie spojrzeć na „niestandardowa walidacja„część dokumentacji formularza angularjs - tak jak sugerował Patrick Ferreira.


-1 dla odpowiedzi № 2

Spróbuj tego:

<input id="charge-hours" type="text" class="charge-position-hours-edit" placeholder="0" ng-model="charge.hours" ng-change="precondition()">

źródło