我有一个输入字段,只允许正数。
<input id="charge-hours" type="text" class="charge-position-hours-edit" placeholder="0" ng-model="charge.hours">
如何控制ng-model的设置。
我想在范围中设置的值之前写一个前置条件。像
这样的东西$scope.precondition = function (value) {
if (!isNan(value)) {
$scope.value=value;
}else{
//do nothing
}
}
这在javascript / angularjs中是否可行?在jave中会有一个setter。
修改
我的问题不够明确。
我真的希望只有正数才能在输入字段中输入,并且只有正数才能绑定到angularjs的ng模型。
如果我使用ng更改,有没有办法保存oldValue?然后我可能会写类似
的内容if (condition===true) //ok
else $scope.value=oldValue;
答案 0 :(得分:0)
如果您的问题是确保该值为整数且为正数,则可以使用HTML5对此进行验证。
点击此链接number。
要验证号码,您可以使用ng-change指令来控制它,如果您想要更多控件使用ng-keyup。
还要考虑查看&#34; custom validation&#34; angularjs的一部分形成文档 - 就像Patrick Ferreira sugested一样。
答案 1 :(得分:-1)
试试这个:
<input id="charge-hours" type="text" class="charge-position-hours-edit" placeholder="0" ng-model="charge.hours" ng-change="precondition()">