2017-04-03 11 views
0

入力テキストは不要です。数字文字のみにng-patternを使用したいのですが、フォームを送信すると入力が無効です。どうして? jsfiddleでng-patternのみ入力必須ではない

<input type="text" ng-model="price" format="currency" ng-pattern="/^[0-9]*$/"> 

、価格を入力して提出せずに製品を挿入します。

http://jsfiddle.net/2f6qscrp/266/

PS:私は入力の種類を変更cannontを!

+0

あなたは数字を入力し、送信を意味し、エラーが表示されますか? –

+0

いいえ、5つの入力を持つフォームがありますが、1つしか必要ありません(ng-model = "productCode")。しかし、価格入力に「ng-invalid-pattern」クラスがあり、続行できません。 – 3vi

+0

正規表現パターンは問題ないので、問題はコードに関連しています。助けが必要な場合は、投稿してください(フィドルへのリンクも歓迎します)。 –

答えて

0

お試しください/^[0-9]+$/ +記号は、1桁以上の数字を受け入れるための記号です。

0

これが役立つかどうかを確認してください。

var app = angular.module('demo', []); 
 

 
app.controller('MainCtrl', function($scope) { 
 

 
    $scope.price = ''; 
 
    $scope.seeResults = function() { 
 
    console.log($scope.price); 
 
    }; 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.20/angular.min.js"></script> 
 
<!DOCTYPE html> 
 
<html ng-app="demo"> 
 

 
    <head> 
 
    <meta charset="utf-8" /> 
 
    </head> 
 

 
    <body ng-controller="MainCtrl"> 
 
    <form name="form" ng-submit="seeResults()" novalidate role="form"> 
 
     Price <span ng-show="form.$submitted && form.price.$error.pattern" style="color: red;">should be an integer</span> 
 
      <input name="price" type="text" ng-model="price" format="currency" ng-pattern="/^[0-9]*$/">  
 
     <button type="submit" >Submit</button> 
 
    </form> 
 
    </body> 
 
</html>

+0

私が追加したjsfiddleを見てください – 3vi

関連する問題