summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/models/registration.js.coffee
blob: ba97e1f766ec4698f856e52482b47e1070b1eabd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#= require ./translation

class csx.Models.Registration extends Backbone.Model
  translation: new csx.Translation('user')
  defaults:
    name: null
    email: null
    password: null

  requiredFields: ['name', 'email', 'password']

  validate: (attributes, options) ->
    errors = {}

    unless new csx.Models.Email(attributes.email).isValid()
      errors['email'] = @translation.errorFor('email', 'invalid')

    _.each @requiredFields, (field) =>
      if _.isEmpty(attributes[field])
        errors[field] = @translation.errorFor(field, 'blank')

    unless attributes.accepted
      errors['accepted'] = @translation.errorFor('accepted', 'accepted')

    return errors if _.keys(errors).length > 0