2016-09-25 26 views
0

JHipsterを使用してアプリケーションを作成し、 `register.html 'を編集しようとしました。彼らはこれらの2に等しいと私は異なるメッセージとng-modelsで、コードの残りの部分を省略しJhipsterが生成したアプリケーション、デフォルトのAngularJS登録フォーム

<div class="alert alert-success" ng-show="vm.success" data translate="register.messages.success"> 
    <strong>Registration saved!</strong> Please check your email for confirmation. 
</div> 

<div class="alert alert-danger" ng-show="vm.error" data-translate="register.messages.error.fail"> 
    <strong>Registration failed!</strong> Please try again later. 
</div> 

:私は助けを必要とするコードは以下のショーです。 & register.controller.js

(function() { 
'use strict'; 

angular 
    .module('MyApp') 
    .controller('RegisterController', RegisterController); 


RegisterController.$inject = ['$translate', '$timeout', 'Auth', 'LoginService']; 

function RegisterController ($translate, $timeout, Auth, LoginService) { 
    var vm = this; 

    vm.doNotMatch = null; 
    vm.error = null; 
    vm.errorUserExists = null; 
    vm.login = LoginService.open; 
    vm.register = register; 
    vm.registerAccount = {}; 
    vm.success = null; 

    $timeout(function(){angular.element('#login').focus();}); 

    function register() { 
     if (vm.registerAccount.password !== vm.confirmPassword) { 
      vm.doNotMatch = 'ERROR'; 
     } else { 
      vm.registerAccount.langKey = $translate.use(); 
      vm.doNotMatch = null; 
      vm.error = null; 
      vm.errorUserExists = null; 
      vm.errorEmailExists = null; 

      Auth.createAccount(vm.registerAccount).then(function() { 
       vm.success = 'OK'; 
      }).catch(function (response) { 
       vm.success = null; 
       if (response.status === 400 && response.data === 'login already in use') { 
        vm.errorUserExists = 'ERROR'; 
       } else if (response.status === 400 && response.data === 'e-mail address already in use') { 
        vm.errorEmailExists = 'ERROR'; 
       } else { 
        vm.error = 'ERROR'; 
       } 
      }); 
     } 
    } 
} 
})(); 

私の質問は、メッセージの処理にエラーが隠されなければならない、とフォームが評価されると、それらは条件に基づいて表示されるべきデフォルトです。生成されたregister.htmlは、デフォルトでは、これらのメッセージは表示されません Default register page

+0

わからない:詳細情報は正しく実行されたとき、レジスタページには、以下の画像のように見えるUsing JHipster in developmentマニュアルに

を見つけることができます。フォームの検証を実装したいようです。その場合、ng-messagesを使用します。このリンクはうまく説明しています。http://www.yearofmoo.com/2014/05/how-to-use-ngmessages-in-angularjs.html –

+0

リンクありがとうございます。私はそれを通過します。私の主な関心事は、フォームにロードされたメッセージは、デフォルトで隠されていなければならず、フォームが評価されると、関連するメッセージが表示されるはずです。この場合(デフォルトのjhispterアプリ)、すべてのメッセージがデフォルトで表示されます。 –

+0

ng-messagesが処理します。それは検証に基づいてメッセージを表示し、失敗したものだけが表示されます –

答えて

1

:しかし、私はこの作業を行う方法を見つけ出すことはできません...以下 はデフォルトregister.htmlページです。 HTMLファイルだけをブラウザに読み込んでいるようですが、アプリケーションを実行してそこからindex.htmlを読み込んでAngularコードを実行する必要があります。また、あなたは変更を加えたときにライブリロードしてhttp://localhost:9000であなたのフロントエンドを提供しますどのgulpを実行することができます

実行./mvnwまたは./gradlewhttp://localhost:8080 でフロントエンドにアクセスします。あなたが探しているまさにenter image description here

+0

はい@ジョンRuddell ..コントローラがロードされなかった理由はいくつか変更されました..私は 'git status'を見つけました間違いをして、再び働かせてください。 –

関連する問題