diff options
| author | mo <mo.khan@gmail.com> | 2017-09-07 19:29:50 -0600 |
|---|---|---|
| committer | mo <mo.khan@gmail.com> | 2017-09-07 19:29:50 -0600 |
| commit | bd64649a0f3e2afb887c62686cb904b5a880fa77 (patch) | |
| tree | 62a7a90ac9915362677225c54b8940bf9f8a7337 /app/assets/javascripts/models | |
| parent | 773f6781ef904b73a88a6b9ef8b5f95bde99be0d (diff) | |
load error messages into js for client side validation.
Diffstat (limited to 'app/assets/javascripts/models')
| -rw-r--r-- | app/assets/javascripts/models/session.js.coffee | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/app/assets/javascripts/models/session.js.coffee b/app/assets/javascripts/models/session.js.coffee new file mode 100644 index 00000000..bfea945e --- /dev/null +++ b/app/assets/javascripts/models/session.js.coffee @@ -0,0 +1,21 @@ +class CakeSide.Models.Session extends Backbone.Model + modelKey: 'session' + defaults: + username: null + password: null + + requiredFields: ['username', 'password'] + + validate: (attributes, options) -> + errors = {} + + _.each @requiredFields, (field) => + if _.isEmpty(attributes[field]) + errors[field] = @errorFor(field, 'blank') + + return errors if _.keys(errors).length > 0 + + errorFor: (attribute, scope) -> + attributeName = I18n.t("activerecord.attributes.#{@modelKey}.#{attribute}") + error = I18n.t("activerecord.errors.messages.#{scope}") + "#{attributeName} #{error}" |
