Skip to content

Instantly share code, notes, and snippets.

@jgwhite
Last active August 29, 2015 14:25
Show Gist options
  • Save jgwhite/d4324184661130f08d57 to your computer and use it in GitHub Desktop.
Save jgwhite/d4324184661130f08d57 to your computer and use it in GitHub Desktop.
DS.Errors Test
import DS from 'ember-data';
const { Model, attr } = DS;
export default Model.extend({
name: attr('string'),
age: attr('string')
});
import Ember from 'ember';
var Router = Ember.Router.extend({
location: 'none'
});
Router.map(function() {
});
export default Router;
import Ember from 'ember';
const { Route, inject, run } = Ember;
export default Route.extend({
store: inject.service(),
model() {
let store = this.get('store');
let model = store.createRecord('thing');
let addErrors = this.addErrors.bind(this);
model.transitionTo('loaded.saved');
return { model, addErrors };
},
addErrors() {
let model = this.get('currentModel.model');
let errors = model.get('errors');
model.transitionTo('loaded.updated.uncommitted');
errors.add('name', 'invalid name');
errors.add('age', 'invalid age');
}
});
body { margin: 12px 16px }
<pre>
<b>model.currentState.stateName:</b>
{{model.model.currentState.stateName}}
<b>model.errors.messages:</b>
{{#each model.model.errors.messages as |message|}}
{{message}}
{{else}}
none
{{/each}}
<button onclick={{addErrors}}>Add Errors</button>
</pre>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment