ng-pattern只能应用于输入类型的文本?

时间:2014-02-06 15:21:36

标签: angularjs

这是一个非常简单的例子:

<!DOCTYPE html>
<html ng-app="myApp">
  <head>
    <meta charset="utf-8" />
    <script data-semver="1.2.11" src="http://code.angularjs.org/1.2.11/angular.js" data-require="angular.js@1.2.x"></script>
  </head>
  <body>
    <form name="myForm">
      <div>
        <input type="number" name="number" ng-model="num" ng-pattern="/^\d+$/"/>
        <br>error: {{ myForm.number.$error }}
      </div>
      <div>
        <input type="text" name="text" ng-model="text" ng-pattern="/^\d+$/"/>
        <br>error: {{ myForm.text.$error }}
      </div>
    </form>
    <script type="text/javascript" charset="utf-8">
      angular.module('myApp', []);
    </script>
  </body>
</html>

以下是plunker

两者都使用相同的ng-pattern,只有输入类型为text的工作。我在这里错过了什么吗?

1 个答案:

答案 0 :(得分:0)

AngularJS目前不支持HTML5的number类型。如果在输入控件中放入required指令,则会触发验证,您可以从myForm.number.$valid获取状态。希望它有所帮助。