Sha256: bc5358a8fd7d874b2b300cd69a97fd6856896630f1a28b2f0d2f1a0a276cea69

Contents?: true

Size: 1.07 KB

Versions: 30

Compression:

Stored size: 1.07 KB

Contents

# TODO Add base settings to validation
# model = window.model

# TODO implement method
# model[resource].validators_on 'field' # Get all validators related to this field

validations = require '../validatable'
stampit     = require '../../../vendor/stampit'

associationable = stampit
  validate_each: (record, attribute, value) ->
    # TODO figure out why this method is being called twice
    if record[attribute]

      # TODO detect association type, and then validate
      # current we only support has_one associations
      unless model[record.resource].has_one.indexOf(attribute) != -1
        throw new Error 'Only has_one associations are supported to validates_associated'

      associated_validation = record[attribute].validate()

      associated_validation.done  ->
        if record[attribute].errors.length
          record.errors.add attribute, 'associated', @options

      associated_validation


composed = stampit.compose(validations.validatable, associationable)
composed.definition_key = 'validates_associated'

validations.manager.validators.association = composed

Version data entries

30 entries across 30 versions & 1 rubygems

Version Path
ende-0.3.13 vendor/components/indefinido-indemma/src/lib/record/validations/associated.coffee
ende-0.3.12 vendor/components/indefinido-indemma/src/lib/record/validations/associated.coffee
ende-0.3.11 vendor/components/indefinido-indemma/src/lib/record/validations/associated.coffee
ende-0.3.10 vendor/components/indefinido-indemma/src/lib/record/validations/associated.coffee
ende-0.3.9 vendor/components/indefinido-indemma/src/lib/record/validations/associated.coffee
ende-0.3.8 vendor/components/indefinido-indemma/src/lib/record/validations/associated.coffee
ende-0.3.7 vendor/components/indefinido-indemma/src/lib/record/validations/associated.coffee
ende-0.3.6 vendor/components/indefinido-indemma/src/lib/record/validations/associated.coffee
ende-0.3.5 vendor/components/indefinido-indemma/src/lib/record/validations/associated.coffee
ende-0.3.4 vendor/components/indefinido-indemma/src/lib/record/validations/associated.coffee
ende-0.3.3 vendor/components/indefinido-indemma/src/lib/record/validations/associated.coffee
ende-0.3.2 vendor/components/indefinido-indemma/src/lib/record/validations/associated.coffee
ende-0.3.1 vendor/components/indefinido-indemma/src/lib/record/validations/associated.coffee
ende-0.3.0 vendor/components/indefinido-indemma/src/lib/record/validations/associated.coffee
ende-0.2.21 vendor/components/indefinido-indemma/src/lib/record/validations/associated.coffee
ende-0.2.20 vendor/components/indefinido-indemma/src/lib/record/validations/associated.coffee
ende-0.2.19 vendor/components/indefinido-indemma/src/lib/record/validations/associated.coffee
ende-0.2.18 vendor/components/indefinido-indemma/src/lib/record/validations/associated.coffee
ende-0.2.17 vendor/components/indefinido-indemma/src/lib/record/validations/associated.coffee
ende-0.2.16 vendor/components/indefinido-indemma/src/lib/record/validations/associated.coffee