2016-09-22 11 views
0

電子メールが既に存在するかどうかを確認するフォームがあります。既に存在する場合は、jsonの応答からエラーmsgを表示しています。この部分は完了です(これはユーザーが送信ボタンをクリックしたときにチェックしています)。配信応答に基づくAngularjsフォームの検証エラーメッセージ

電子メールが既に存在する場合は、409エラーが発生します。

電子メール入力の更新が必要です。 msgを追加する必要があります。私は、NG-ショーを使用しています=

<form name="personalInfo" role="form" autocomplete="off"> 
<div class="form-group"> 
    <input type="text" maxlength="11" class="form-control" name="usupiEmail" ng-model="usuAttributes.personalInfo.email" ng-focus="ShowPlaceholder('email')" /> 
    <label>Email ID</label> 

    <div class="error-message" ng-show="personalInfo.$submitted" ng-cloak> 
     Please verify your Email. 
    </div> 
</div> 
<button type="submit" class="btn-default" ng-click="usupiUpdateUser()">Next</button> 

は、私はまた、別の方法を試してみました "personalInfo $が提出した。":

function checkWrongEmail (errorCode) { 
    if (errorCode === '409') { 
     return true; 
    } 
    return false; 
} 
+0

Hあなたは 'personalInfo。$ submitted'を更新しています(ちなみに、それは' usuAttributes.personalInfo。$ submitted'なので誤っているでしょうか? 409エラーでサーバーからの応答を受け取ったら、このプロパティを 'true'値で更新できます。そうすれば、そのエラーの意図したメッセージが表示されます。 – NunoM

答えて

0

まず囲んでいるdiv要素にNGアプリディレクティブを追加します。それがなければうまくいきません。手動でng-appが設定されるまで動作しなかったtrue/falseを入力しようとしました。 JSFiddleを参照してください。 ng-appをフォーム要素から削除すると、動作しません。一方、ng-showをtrue/falseに変更すると、望ましい結果が得られます。

あなたが指定したNG-モデルは次のとおりです。

usuAttributes.personalInfo.email 

しかし、NG-ショーで式は次のとおりです。

personalInfo.$submitted 

これはまたかどうかを確認 モデルのスコープ内にある場合は、チェックする必要がありますすぐに閉じられる入力要素でモデルを定義しても、変数へのアクセスに問題はありません(エラーメッセージdivのアクセス権もあります)

関連する問題