这是一个非常简单的例子:
<!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
的工作。我在这里错过了什么吗?
答案 0 :(得分:0)
AngularJS目前不支持HTML5的number
类型。如果在输入控件中放入required
指令,则会触发验证,您可以从myForm.number.$valid
获取状态。希望它有所帮助。