2016-09-25 92 views
0

我使用JHipster創建了一個應用程序,並嘗試編輯`register.html'。在我需要幫助的代碼如下所示: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> 

我省略了代碼的其餘部分,因爲他們是平等的這兩個,只能用不同的消息和ng-models。 &的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

不知道究竟你正在尋找。看起來你想要實現表單驗證。如果是這種情況,請使用ng-messages。此鏈接很好地解釋了它http://www.yearofmoo.com/2014/05/how-to-use-ngmessages-in-angularjs.html –

+0

感謝您的鏈接。我會通過這個。我主要關心的是,當窗體加載時,圖片中顯示的消息必須被默認隱藏,一旦表單被評估,相關的消息就會出現。但在這種情況下(和默認的jhispter應用程序),所有的消息都默認顯示。 –

+0

ng消息將照顧它。它會顯示基於驗證的消息,只有那些失敗的將顯示 –

回答

1

生成register.html不顯示默認的消息。它看起來像只是將HTML文件加載到瀏覽器中,但您需要運行應用程序並從那裏加載index.html以運行Angular代碼。

運行./mvnw./gradlew並訪問在http://localhost:8080 前端也可以運行gulp這將成爲您的前端在http://localhost:9000活重裝,當你做出改變。更多信息可在Using JHipster in development文檔

註冊頁面中找到看起來像下面的圖片時正確運行:enter image description here

+0

是@Jon Ruddell ..原因是控制器沒有加載,我改變了一些東西..所以我做了一個'git status',找到了錯誤,並讓它再次工作.. –

相關問題