From 412e906ed3ccefd2d85256357a29e90aebe5edfc Mon Sep 17 00:00:00 2001 From: Rob H Date: Sun, 24 Aug 2014 11:20:00 +1000 Subject: [PATCH] Adding basic validation to reg process --- .../registration_controller.js.coffee | 4 +--- .../registration_form_controller.js.coffee | 20 +++++++++++++++++++ .../templates/registration/details.html.haml | 9 ++++++--- 3 files changed, 27 insertions(+), 6 deletions(-) create mode 100644 app/assets/javascripts/darkswarm/controllers/registration_form_controller.js.coffee diff --git a/app/assets/javascripts/darkswarm/controllers/registration_controller.js.coffee b/app/assets/javascripts/darkswarm/controllers/registration_controller.js.coffee index 2cf7c50c8d..2fcc0f32fd 100644 --- a/app/assets/javascripts/darkswarm/controllers/registration_controller.js.coffee +++ b/app/assets/javascripts/darkswarm/controllers/registration_controller.js.coffee @@ -1,9 +1,7 @@ Darkswarm.controller "RegistrationCtrl", ($scope, RegistrationService, EnterpriseRegistrationService, availableCountries) -> $scope.currentStep = RegistrationService.currentStep - $scope.select = RegistrationService.select $scope.enterprise = EnterpriseRegistrationService.enterprise - $scope.create = EnterpriseRegistrationService.create - $scope.update = EnterpriseRegistrationService.update + $scope.select = RegistrationService.select $scope.steps = ['details','address','contact','about','images','social'] diff --git a/app/assets/javascripts/darkswarm/controllers/registration_form_controller.js.coffee b/app/assets/javascripts/darkswarm/controllers/registration_form_controller.js.coffee new file mode 100644 index 0000000000..dc48bac9c5 --- /dev/null +++ b/app/assets/javascripts/darkswarm/controllers/registration_form_controller.js.coffee @@ -0,0 +1,20 @@ +Darkswarm.controller "RegistrationFormCtrl", ($scope, RegistrationService, EnterpriseRegistrationService) -> + $scope.submitted = false + + $scope.create = (form) -> + $scope.submitted = true + if form.$valid + EnterpriseRegistrationService.create() + $scope.submitted = false + + $scope.update = (nextStep, form) -> + $scope.submitted = true + if form.$valid + EnterpriseRegistrationService.update(nextStep) + $scope.submitted = false + + $scope.select = (nextStep, form) -> + $scope.submitted = true + if form.$valid + RegistrationService.select(nextStep) + $scope.submitted = false \ No newline at end of file diff --git a/app/assets/javascripts/templates/registration/details.html.haml b/app/assets/javascripts/templates/registration/details.html.haml index aeb9427d0b..7991d0e01c 100644 --- a/app/assets/javascripts/templates/registration/details.html.haml +++ b/app/assets/javascripts/templates/registration/details.html.haml @@ -3,11 +3,14 @@ %h2 Let's Get Started %h5 Woot! First we need to know what sort of enterprise you are: %ng-include{ src: "'registration/steps.html'" } - %form + %form{ name: 'details', novalidate: true, ng: { controller: "RegistrationFormCtrl", submit: "select('address',details)" } } .row .small-12.columns %label{ for: 'enterprise_name' } Enterprise Name: - %input.chunky.small-12.columns{ id: 'enterprise_name', placeholder: "eg. Charlie's Awesome Farm", ng: { model: 'enterprise.name' } } + %input.chunky.small-12.columns{ id: 'enterprise_name', name: 'name', placeholder: "eg. Charlie's Awesome Farm", required: true, ng: { model: 'enterprise.name' } } + {{ submitted + " " + details.name.$error.required }} + %span.error.small-12.columns{ ng: { show: "details.name.$error.required && submitted" } } + You need to enter a name for you enterprise! .row#enterprise-types{ 'data-equalizer' => true } .small-12.columns @@ -35,4 +38,4 @@ %p Hey there, Jack-of-all-trades! Not only do you produce things to eat &/or drink, you also want to sell your yummies through an Open Food Network shopfront. .row.buttons .small-12.columns - %input.button.primary{ type: "button", value: "Continue", ng: { click: "select('address')" } } \ No newline at end of file + %input.button.primary.right{ type: "submit", value: "Continue" }