Skip to content

Instantly share code, notes, and snippets.

@pswai
Last active February 20, 2017 19:51
Show Gist options
  • Save pswai/a469a2ba6b9f8c073817ec2e6a86a0d0 to your computer and use it in GitHub Desktop.
Save pswai/a469a2ba6b9f8c073817ec2e6a86a0d0 to your computer and use it in GitHub Desktop.
Ember-changeset incompatibility with Ember < 2.4.5
import Ember from 'ember';
import Changeset from 'ember-changeset';
import { validatePresence } from 'ember-changeset-validations/validators';
import lookupValidator from 'ember-changeset-validations';
export default Ember.Controller.extend({
init() {
this._super(...arguments);
const model = Ember.get(this, 'user');
const validation = Ember.get(this, 'validation');
this.changeset = new Changeset(model, lookupValidator(validation), validation);
},
emberVersion: Ember.VERSION,
user: {
name: 'ClearMe'
},
validation: {
name: validatePresence(true)
}
});
import Ember from 'ember';
export function json(params/*, hash*/) {
return JSON.stringify(params[0], null, 2);
}
export default Ember.Helper.helper(json);
<div>Ember Version: <b>{{emberVersion}}</b></div>
<div style="margin: 10px 0">
<div>Clear this field then input something</div>
<form>
{{input value=changeset.name}}
</form>
</div>
<table border="1">
<tr>
<th>Field</th>
<th>Value</th>
<th>Description</th>
</tr>
<tr>
<td>
<code>changeset.error.name.validation</code>
</td>
<td>
<code>{{changeset.error.name.validation}}</code>
</td>
<td>
This field should be blank when the input is not empty
</td>
</tr>
<tr>
<td>
<code>changeset.error</code>
</td>
<td>
<pre>{{json changeset.error}}</pre>
</td>
<td>
This field should be <code>{}</code> when the input is not empty
</td>
</tr>
<tr>
<td>
<code>changeset.errors</code>
</td>
<td>
<pre>{{json changeset.errors}}</pre>
</td>
<td>
This field should be <code>[]</code> when the input is not empty
</td>
</tr>
</table>
{
"version": "0.11.0",
"EmberENV": {
"FEATURES": {}
},
"options": {
"use_pods": false,
"enable-testing": false
},
"dependencies": {
"jquery": "https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.js",
"ember": "1.13.13",
"ember-data": "2.11.0",
"ember-template-compiler": "1.13.13",
"ember-testing": "1.13.13"
},
"addons": {
"ember-changeset": "1.2.0",
"ember-changeset-validations": "1.2.4"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment