Skip to content

Instantly share code, notes, and snippets.

@jelhan
Last active April 28, 2020 12:23
Show Gist options
  • Save jelhan/ac835a2267bf93bfba8a7b3a740a7220 to your computer and use it in GitHub Desktop.
Save jelhan/ac835a2267bf93bfba8a7b3a740a7220 to your computer and use it in GitHub Desktop.
ember-changeset-validations
import Controller from '@ember/controller';
import { action } from '@ember/object';
import {
validatePresence,
validateLength,
} from 'ember-changeset-validations/validators';
import lookupValidator from 'ember-changeset-validations';
import Changeset from 'ember-changeset';
const Validations = {
name: [
validatePresence(true),
validateLength({ min: 4 })
]
};
export default class ApplicationController extends Controller {
appName = 'Ember Twiddle';
model = { name: 'a' };
@action validate() {
this.changeset.validate();
}
constructor() {
super();
this.changeset = new Changeset({ name: 'a' }, lookupValidator(Validations), Validations);
}
}
<input
value={{changeset.name}}
{{on "input" (action (mut changeset.name) value="target.value")}}
/>
<button {{on "click" this.validate}}>validate</button>
Is valid? {{changeset.isValid}}
{
"version": "0.17.0",
"EmberENV": {
"FEATURES": {},
"_TEMPLATE_ONLY_GLIMMER_COMPONENTS": false,
"_APPLICATION_TEMPLATE_WRAPPER": true,
"_JQUERY_INTEGRATION": true
},
"options": {
"use_pods": false,
"enable-testing": false
},
"dependencies": {
"jquery": "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.js",
"ember": "3.17.0",
"ember-template-compiler": "3.17.0",
"ember-testing": "3.17.0"
},
"addons": {
"@glimmer/component": "1.0.0",
"ember-changeset-validations": "3.3.1"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment