diff --git a/src/popup/app/accounts/accountsHintController.js b/src/popup/app/accounts/accountsHintController.js index ecf63bed34b..a5f8a3dc73b 100644 --- a/src/popup/app/accounts/accountsHintController.js +++ b/src/popup/app/accounts/accountsHintController.js @@ -7,6 +7,11 @@ $scope.submitPromise = null; $scope.submit = function (model) { + if (!model.email) { + toastr.error('Email is required.'); + return; + } + var request = new PasswordHintRequest(model.email); $scope.submitPromise = hintPromise(request); $scope.submitPromise.then(function () { diff --git a/src/popup/app/accounts/accountsLoginController.js b/src/popup/app/accounts/accountsLoginController.js index 72adfa6e223..f1fb714caf8 100644 --- a/src/popup/app/accounts/accountsLoginController.js +++ b/src/popup/app/accounts/accountsLoginController.js @@ -17,6 +17,15 @@ $scope.loginPromise = null; $scope.login = function (model) { + if (!model.email) { + toastr.error('Email is required.'); + return; + } + if (!model.masterPassword) { + toastr.error('Master password is required.'); + return; + } + $scope.loginPromise = loginService.logIn(model.email, model.masterPassword); $scope.loginPromise.then(function () { diff --git a/src/popup/app/accounts/accountsLoginTwoFactorController.js b/src/popup/app/accounts/accountsLoginTwoFactorController.js index f8758217a99..a19538bb421 100644 --- a/src/popup/app/accounts/accountsLoginTwoFactorController.js +++ b/src/popup/app/accounts/accountsLoginTwoFactorController.js @@ -7,6 +7,11 @@ $scope.loginPromise = null; $scope.login = function (model) { + if (!model.code) { + toastr.error('Verification code is required.'); + return; + } + $scope.loginPromise = loginService.logInTwoFactor(model.code); $scope.loginPromise.then(function () { $state.go('tabs.vault', { animation: 'in-slide-left' }); diff --git a/src/popup/app/accounts/accountsRegisterController.js b/src/popup/app/accounts/accountsRegisterController.js index 6c4fb7ac2f4..755e5944e8a 100644 --- a/src/popup/app/accounts/accountsRegisterController.js +++ b/src/popup/app/accounts/accountsRegisterController.js @@ -7,6 +7,19 @@ $scope.submitPromise = null; $scope.submit = function (model) { + if (!model.email) { + toastr.error('Email is required.'); + return; + } + if (!model.masterPassword) { + toastr.error('Master password is required.'); + return; + } + if (model.masterPassword !== model.masterPasswordRetype) { + toastr.error('Master password confirmation does not match.'); + return; + } + var email = model.email.toLowerCase(); var key = cryptoService.makeKey(model.masterPassword, email); $scope.submitPromise = registerPromise(key, model.masterPassword, email, model.hint); diff --git a/src/popup/app/accounts/views/accountsHint.html b/src/popup/app/accounts/views/accountsHint.html index f57a3b250d4..403ae894770 100644 --- a/src/popup/app/accounts/views/accountsHint.html +++ b/src/popup/app/accounts/views/accountsHint.html @@ -1,4 +1,4 @@ -