2016-08-29 3 views
-2

私は助けが必要です。私はAngularJSを使用してユーザーの要件に応じて入力フィールドを適切に検証する必要があります。Angular.jsを使用してフィールドを正しく検証できません

私は以下のコードを説明しています。

<div ng-class="{ 'myError': billdata.longitude.$touched && billdata.longitude.$invalid }"> 
    <input type="text" name="longitude" id="longitude" class="form-control oditek-form" placeholder="Add Longitude coordinate" ng-model="longitude" ng-pattern="/^[0-9]+([,.][0-9]+)?$/" ng-keypress="clearField('businessno');"> 
</div> 
<div class="help-block" ng-messages="billdata.longitude.$error" ng-if="billdata.longitude.$touched"> 
    <p ng-message="pattern" style="color:#F00;">This field needs only number(e.g-0,1..9).</p> 
</div> 

ここでの要件は、これだけi.e-+123.45 or -095.4567よう+または-でユーザー缶エントリ番号です。現在のケースでは、+または-は許可されていません。数字だけが許可されています。この問題を解決するのを手伝ってください。 。[[0-9] +([、] [0-9] { - |

答えて

0

あなたが正規表現で

ng-pattern="/^(\+|-)?[0-9]+([,.][0-9]+)?$/" 
+0

@ Yury:しかし、 '+'と '--'記号はマンドタリーではありません。 – satya

+0

@satyaそうではありません。だから、グループの後に '?'があるのはなぜですか? '/^(\+|-)?[0-9]+([].][0-9]+)?$/.test('6.89 '); //真 ' –

0

NGパターンを= "/ ^([+]記号を対応できるようにする必要がありますn、m}))]?$/";

だけ小数点以下の桁数が最も多いが、あなたが1以下のようなカスタム検証のための独自のディレクティブを書くことができ

0

を許可して0とmと置き換えるnと、小数点以下の桁数が最小とmがウル場合、すなわち、これを使用してみてください。

[1]この偶数dierctive

は、唯一の偶数が許可されている[こちらをクリック]。

[1]: http://plnkr.co/edit/Ld0ZfVvMLoQPm5lDHMbS?p=preview 
関連する問題