【发布时间】:2015-02-20 01:46:55
【问题描述】:
我有一个简单的文本输入,我只想允许浮点数和整数(注意:jade)
input.form-control(type="text", ng-model='usd', ng-pattern="nums",ng-change='convert_to_btc()', placeholder="USD")
但是它不起作用,我总是可以在输入中插入任何字符(我是否需要做更多才能显示某些内容?例如,如果它不正确,则为红色边框?或者应该只是那些字符甚至不能要输入吗?) 该模式是一个正则表达式,因此不是一个字符串,所以应该没问题???
这是控制器:
app.controller("AppCtrl", function AppCtrl($scope, $http, $interval ) {
//lots of other stuff
$scope.nums = /^\-?\d+((\.|\,)\d+)?$/; //note no string, it's a regex
}
这是生成的 HTML。这可能是问题吗?生成的 HTML 实际上有一个字符串,而不是正则表达式!?
<input type="text" ng-model="usd" ng-pattern="/^\-?\d+((\.|\,)\d+)?$/" ng-change="convert_to_btc()" placeholder="USD" class="form-control ng-dirty ng-valid-parse ng-touched ng-invalid ng-invalid-pattern">
【问题讨论】:
-
它实际上正在工作......但这并不能阻止我输入错误的数据!我需要使用角度验证来显示一些东西!
-
你想要什么?不允许用户输入字符或输入错误字符时显示错误?
标签: regex angularjs pug ng-pattern