0

我只想以这样一种方式验证我的项目中的文本框,以便用户无法输入除字符以外的任何值。

4

1 回答 1

2

骇客?方式,$watch 控制器中的 ng-model:

<input type="text" ng-model="myText">

控制器:

$scope.$watch('myText', function() {
   // put logic to strip out all non-character characters here
   if ($scope.myText  ... regex to look for ... ) {
      // strip out the non-characters
   }
})

最好的方法,在指令中使用 $parser。我不会重复@pkozlowski.opensource 提供的已经很好的答案,所以这里是链接:https ://stackoverflow.com/a/14425022/215945

不要尝试使用 ng-change - 它会导致问题。请参阅AngularJS - 重置 $scope.value 不会更改模板中的值(随机行为)

更新: ng-pattern也可用于定义一个正则表达式,该表达式将限制该字段中允许的内容。另请参阅有关表单的“食谱”页面

于 2013-02-02T20:24:39.417 回答