From 985dba15556df6366e1eb56bdd5e26daf84082c1 Mon Sep 17 00:00:00 2001 From: Kyle Spearrin Date: Thu, 22 Sep 2016 12:50:27 -0400 Subject: [PATCH] Validation of forms --- src/popup/app/accounts/accountsHintController.js | 5 +++++ src/popup/app/accounts/accountsLoginController.js | 9 +++++++++ .../accounts/accountsLoginTwoFactorController.js | 5 +++++ .../app/accounts/accountsRegisterController.js | 13 +++++++++++++ src/popup/app/accounts/views/accountsHint.html | 2 +- src/popup/app/accounts/views/accountsLogin.html | 5 +++-- .../app/accounts/views/accountsLoginTwoFactor.html | 2 +- src/popup/app/accounts/views/accountsRegister.html | 2 +- .../app/settings/settingsAddFolderController.js | 5 +++++ .../app/settings/settingsEditFolderController.js | 5 +++++ src/popup/app/settings/views/settingsAddFolder.html | 2 +- .../app/settings/views/settingsEditFolder.html | 2 +- src/popup/app/vault/vaultAddSiteController.js | 12 +++++++++++- src/popup/app/vault/vaultEditSiteController.js | 12 +++++++++++- src/popup/app/vault/views/vaultAddSite.html | 2 +- src/popup/app/vault/views/vaultEditSite.html | 2 +- 16 files changed, 74 insertions(+), 11 deletions(-) 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 @@ -
+
Log In diff --git a/src/popup/app/accounts/views/accountsLogin.html b/src/popup/app/accounts/views/accountsLogin.html index 2c2ebed7d49..8828bfcf831 100644 --- a/src/popup/app/accounts/views/accountsLogin.html +++ b/src/popup/app/accounts/views/accountsLogin.html @@ -1,4 +1,4 @@ - +
Cancel @@ -21,7 +21,8 @@
- +
diff --git a/src/popup/app/accounts/views/accountsLoginTwoFactor.html b/src/popup/app/accounts/views/accountsLoginTwoFactor.html index a43d45682f0..cf32c968688 100644 --- a/src/popup/app/accounts/views/accountsLoginTwoFactor.html +++ b/src/popup/app/accounts/views/accountsLoginTwoFactor.html @@ -1,4 +1,4 @@ - +
Log In diff --git a/src/popup/app/accounts/views/accountsRegister.html b/src/popup/app/accounts/views/accountsRegister.html index c6f7edaa3de..7bc6aa535d9 100644 --- a/src/popup/app/accounts/views/accountsRegister.html +++ b/src/popup/app/accounts/views/accountsRegister.html @@ -1,4 +1,4 @@ - +
Cancel diff --git a/src/popup/app/settings/settingsAddFolderController.js b/src/popup/app/settings/settingsAddFolderController.js index a3eb09f7537..058e3de1ef4 100644 --- a/src/popup/app/settings/settingsAddFolderController.js +++ b/src/popup/app/settings/settingsAddFolderController.js @@ -7,6 +7,11 @@ angular $scope.savePromise = null; $scope.save = function (model) { + if (!model.name) { + toastr.error('Name is required.'); + return; + } + $scope.savePromise = $q.when(folderService.encrypt(model)).then(function (folderModel) { var folder = new Folder(folderModel, true); return $q.when(folderService.saveWithServer(folder)).then(function (folder) { diff --git a/src/popup/app/settings/settingsEditFolderController.js b/src/popup/app/settings/settingsEditFolderController.js index 25a1a000874..9057f32d2d7 100644 --- a/src/popup/app/settings/settingsEditFolderController.js +++ b/src/popup/app/settings/settingsEditFolderController.js @@ -14,6 +14,11 @@ $scope.savePromise = null; $scope.save = function (model) { + if (!model.name) { + toastr.error('Name is required.'); + return; + } + $scope.savePromise = $q.when(folderService.encrypt(model)).then(function (folderModel) { var folder = new Folder(folderModel, true); return $q.when(folderService.saveWithServer(folder)).then(function (folder) { diff --git a/src/popup/app/settings/views/settingsAddFolder.html b/src/popup/app/settings/views/settingsAddFolder.html index 9f7b161c019..f41dcd87bc8 100644 --- a/src/popup/app/settings/views/settingsAddFolder.html +++ b/src/popup/app/settings/views/settingsAddFolder.html @@ -1,4 +1,4 @@ - +
Cancel diff --git a/src/popup/app/settings/views/settingsEditFolder.html b/src/popup/app/settings/views/settingsEditFolder.html index ff01afaf88e..256d98d957a 100644 --- a/src/popup/app/settings/views/settingsEditFolder.html +++ b/src/popup/app/settings/views/settingsEditFolder.html @@ -1,4 +1,4 @@ - +
Cancel diff --git a/src/popup/app/vault/vaultAddSiteController.js b/src/popup/app/vault/vaultAddSiteController.js index fa4dc7aa999..b1066b7b77f 100644 --- a/src/popup/app/vault/vaultAddSiteController.js +++ b/src/popup/app/vault/vaultAddSiteController.js @@ -1,7 +1,8 @@ angular .module('bit.vault') - .controller('vaultAddSiteController', function ($scope, $state, $stateParams, siteService, folderService, cryptoService, $q, toastr) { + .controller('vaultAddSiteController', function ($scope, $state, $stateParams, siteService, folderService, + cryptoService, $q, toastr) { var returnScrollY = $stateParams.returnScrollY; var returnSearchText = $stateParams.returnSearchText; var fromCurrent = $stateParams.fromCurrent || $stateParams.uri !== null; @@ -30,6 +31,15 @@ $scope.savePromise = null; $scope.save = function (model) { + if (!model.name) { + toastr.error('Name is required.'); + return; + } + if (!model.password) { + toastr.error('Password is required.'); + return; + } + $scope.savePromise = $q.when(siteService.encrypt(model)).then(function (siteModel) { var site = new Site(siteModel, true); return $q.when(siteService.saveWithServer(site)).then(function (site) { diff --git a/src/popup/app/vault/vaultEditSiteController.js b/src/popup/app/vault/vaultEditSiteController.js index 7a20599fbef..90bf37982e0 100644 --- a/src/popup/app/vault/vaultEditSiteController.js +++ b/src/popup/app/vault/vaultEditSiteController.js @@ -1,7 +1,8 @@ angular .module('bit.vault') - .controller('vaultEditSiteController', function ($scope, $state, $stateParams, siteService, folderService, cryptoService, $q, toastr, SweetAlert) { + .controller('vaultEditSiteController', function ($scope, $state, $stateParams, siteService, folderService, + cryptoService, $q, toastr, SweetAlert) { var returnScrollY = $stateParams.returnScrollY; var returnSearchText = $stateParams.returnSearchText; var siteId = $stateParams.siteId; @@ -30,6 +31,15 @@ angular $scope.savePromise = null; $scope.save = function (model) { + if (!model.name) { + toastr.error('Name is required.'); + return; + } + if (!model.password) { + toastr.error('Password is required.'); + return; + } + $scope.savePromise = $q.when(siteService.encrypt(model)).then(function (siteModel) { var site = new Site(siteModel, true); return $q.when(siteService.saveWithServer(site)).then(function (site) { diff --git a/src/popup/app/vault/views/vaultAddSite.html b/src/popup/app/vault/views/vaultAddSite.html index 7a6bd3c38bf..32ea73b6604 100644 --- a/src/popup/app/vault/views/vaultAddSite.html +++ b/src/popup/app/vault/views/vaultAddSite.html @@ -1,4 +1,4 @@ - +
Cancel diff --git a/src/popup/app/vault/views/vaultEditSite.html b/src/popup/app/vault/views/vaultEditSite.html index 856f0429aa5..1becfdf6fdc 100644 --- a/src/popup/app/vault/views/vaultEditSite.html +++ b/src/popup/app/vault/views/vaultEditSite.html @@ -1,4 +1,4 @@ - +