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は、デフォルトでは、これらのメッセージは表示されません
わからない:詳細情報は正しく実行されたとき、レジスタページには、以下の画像のように見えるUsing JHipster in developmentマニュアルに
を見つけることができます。フォームの検証を実装したいようです。その場合、ng-messagesを使用します。このリンクはうまく説明しています。http://www.yearofmoo.com/2014/05/how-to-use-ngmessages-in-angularjs.html –
リンクありがとうございます。私はそれを通過します。私の主な関心事は、フォームにロードされたメッセージは、デフォルトで隠されていなければならず、フォームが評価されると、関連するメッセージが表示されるはずです。この場合(デフォルトのjhispterアプリ)、すべてのメッセージがデフォルトで表示されます。 –
ng-messagesが処理します。それは検証に基づいてメッセージを表示し、失敗したものだけが表示されます –