summaryrefslogtreecommitdiff
path: root/app/assets/javascripts
diff options
context:
space:
mode:
authormo <mo.khan@gmail.com>2017-09-07 20:26:55 -0600
committermo <mo.khan@gmail.com>2017-09-07 20:26:55 -0600
commit91464727b6c252f149e0c8c7e0d09c0f22a296b2 (patch)
tree78357c1cdb7c0594b573955e952096a9fae18b6a /app/assets/javascripts
parent1ca9d86bf171dc29a53f126e382e1be2b0ca506b (diff)
connect login-form to session model validation.
Diffstat (limited to 'app/assets/javascripts')
-rw-r--r--app/assets/javascripts/views/sessions/login_form.js.coffee32
1 files changed, 14 insertions, 18 deletions
diff --git a/app/assets/javascripts/views/sessions/login_form.js.coffee b/app/assets/javascripts/views/sessions/login_form.js.coffee
index a41de95b..0cb273da 100644
--- a/app/assets/javascripts/views/sessions/login_form.js.coffee
+++ b/app/assets/javascripts/views/sessions/login_form.js.coffee
@@ -8,30 +8,26 @@ class CakeSide.Views.LoginForm extends CakeSide.AutoView
'keyup #session_password': 'onKeyUp'
'submit form': 'onSubmit'
- render: ->
- @hideErrors()
- @$('input[type=submit]').prop('disabled', !@isValid())
- _.each _.keys(@errors), (key) =>
- @showError(@field(key), @errors[key])
-
- isValid: ->
- _.keys(@errors).length == 0
-
- validate: ->
- @errors = {}
- if _.isEmpty(@field("username").val())
- @errors['username'] = "Email is required"
+ initialize: () ->
+ @model = new CakeSide.Models.Session()
- if _.isEmpty(@field("password").val())
- @errors['password'] = "Password is required"
+ render: ->
+ @renderErrors(@model.validationError)
onKeyUp: (event) ->
- @validate()
+ @model.set('username', @field('username').val())
+ @model.set('password', @field('password').val())
+ @$('input[type=submit]').prop('disabled', !@model.isValid())
@render()
onSubmit: (event) ->
- @validate()
- if !@isValid()
+ if !@model.isValid()
+ @$('input[type=submit]').prop('disabled', true)
event.preventDefault()
event.stopPropagation()
@render()
+
+ renderErrors: (errors) ->
+ @hideErrors()
+ _.each _.keys(errors), (key) =>
+ @showError(@field(key), errors[key])