我正在使用angularJS,如果输入值不是数字,我会尝试弹出错误。
Number Value: <input type="number" ng-model="mydata.number" ng-change="checkNumber()" />
<p style="color:red" ng-show="numberError">
{{ numberError }}
</p>
然后在$scope.checkNumber
内我检查它是否是NaN:
if(!$scope.mydata.number || isNaN($scope.mydata.number)) {
$scope.numberError = "This must be a number";
}
看来,当我最初输入一个字符串如“fff”时没有弹出错误,我们也没有输入checkNumber函数,但是如果我输入“1fff”那么它确实输入了函数并且错误显示为这应该。
如果输入类型是数字且初始字符不是数字,那么ng-model 不是会改变吗?
答案 0 :(得分:1)
如何使用Angular内置验证,如下所示:
<form name="myForm">
Number Value:
<input type="number" ng-model="mydata.number" name="myNumber" />
<p style="color:red" ng-show="myForm.myNumber.$dirty && !myForm.myNumber.$valid">
{{ numberError }}
</p>
</form>