2016-06-18 5 views
0

私の角度アプリでは、メールアドレスまたは電話番号のいずれかを受け入れるフィールドがあります。角度 - フィールドに入力された値が数字であるかどうかを確認します

数字が入力されている場合は、特定のスパンを表示します。しかし、私はこれを働かせるように見えることはできません。

だから私のコントローラに私が書いた:

$scope.isNumber = function (n) { 
    return !isNaN(parseFloat(n)) && isFinite(n); 
} 

はその後、私のHTMLに私が持っている:これは動作しないでしょうなぜ

<form name="registrationForm"> 

<div> 
    Email or Mobile 
    <span ng-show="isNumber(registrationForm.usernameReg)">Include the country code.</span> 
</div> 

<input name="usernameReg" ng-change="main.change()" type="text" ng-model="main.username"> 

</form> 

任意のアイデア?

ありがとうございました。

+0

だけのノートを<pre>{{registrationForm |json}}</pre>を追加表示するには:私の携帯電話のルックスは+33(0)4 ...何かが電話番号があるかどうかを確認するためにparseFloatは()を使用しないでください。うそ:電話番号は浮動小数点値ではありません。 –

答えて

5

モデルの値をテストする必要があります。

ng-show="isNumber(main.username)" 

registrationForm.usernameRegを試すには、検証の一部として使用され、多くのプロパティを含むオブジェクトです。

が良く、これはあなたのビューで

+0

ありがとう - 私はそれを試みたが、console.logの値が入ってくると 'undefined 'となる – userMod2

+0

プランナーデモを作成する。コントローラーにあらかじめ定義されていないか、ユーザーが何かを入力するまでは未定義です – charlietfl

+0

これは私が何かを入力しても未定義と言い続けます – userMod2

関連する問題