NG模式指令弄乱了输入的能力



我需要用ng-pattern验证安全代码是否正好有 4 位数字。添加后ng-pattern="/^[0-9]{4}$/"输入无法显示模型属性(安全代码)。如果我删除ng-pattern那么表单和输入有效,但没有验证。如何解决?

http://jsbin.com/saroyo/1/

更新,仅显示一个错误

var app = angular.module('myApp',[]);
app.controller('MyCtrl',function($scope){
});
</script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="myApp">
<div ng-controller="MyCtrl">
<form name="myForm">
    Code: <input type="number " name="code" ng-model="user.code"
      ng-minlength="4" ng-maxlength="4">
    <span class="error" ng-show="myForm.code.$error.minlength">
      Should be 4 charachters long</span>
    <span class="error" ng-show="myForm.code.$error.maxlength">
      Should be 4 charachters long</span><br>
    <span class="error" ng-model="user.code" ng-show="(user.code === parseInt(user.code, 10)) && (myForm.$dirty === true) && (myForm.code.$error.minlength == false) && (myForm.code.$error.maxlength == false)">
      Should have only integers</span><br>
  </form>
</div>
</div>

最新更新