Create a gist now

Instantly share code, notes, and snippets.

What is Backbone's idiomatic way to create/save valid models?
Backbone = require 'backbone'
Backbone.sync = ->
console.log 'Sync called.'
Book = Backbone.Model.extend
validate: ->
console.log 'Validate called.'
return "error"
Library = Backbone.Collection.extend
model: Book
lib = new Library
title: 'A Book'
# Skips validate
(new Book { title: 'Another book.'}).save()
# Skips validate
book = new Book
title: 'A third book.'
# Runs validate, does not sync

Was surprised that save() without attrs bypasses validate. Is the recommended approach not setting with the constructor, but instead setting with set/save? Is there any way to enforce validation on Collection's create method?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment