我知道我来晚了,但我想我会发布这个答案,因为其他人可能仍在寻找替代方案。
您可以使用AngularJS指令链接功能解决此问题。代码:
var myMod = angular.module('myModule', []);myMod.directive('integer', function(){ return { require: 'ngModel', link: function(scope, ele, attr, ctrl){ ctrl.$parsers.unshift(function(viewValue){ return parseInt(viewValue, 10); }); } };});
然后,您将在输入元素上使用此指令,以确保将您输入的任何值都解析为整数。
(显然,该示例未验证输入以确保输入的内容实际上是整数,但是例如,您可以使用正则表达式轻松实现此功能)
<input type="text" ng-model="model.value" integer />
- 有关此主题的更多信息,可以在“定制验证”部分附近的表单AngularJS文档中找到:http
- //docs.angularjs.org/guide/forms。
编辑: 更新了
parseInt()调用以包括基数10,如adam0101所建议
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)