emberjs/data — pull request #1876 by alexspeller (2014-04-15 17:40:05+00:00)
Title: Allow committing a record whilst in invalid state

If the server returns a 422 response with errors, the record enters
the invalid state. This means that it is impossible to save the record
again without setting all of the invalid properties at least once.

Sometimes this makes sense, but if the server is the arbiter of
validity then often it does not, especially if validity of properties
is interdependant or based on external conditions.

Example:

Server validates firstName + lastName must be at least 10 characters
combined.

Server returns {errors: {firstName: "too short", lastName; "too Short"}}

Now firstName to be 20 characters long. The record is valid according
to the server, but calling record.save() results in an error

Attempted to handle event `willCommit` on while in state
root.loaded.updated.invalid

This patch allows save() to be called on an invalid record, meaning
the server can decide if it's valid or not.