Skip to content

Instantly share code, notes, and snippets.

@czosel
Last active July 23, 2017 10:22
Show Gist options
  • Save czosel/7693dda4ebdebcda2065c0b3087011c5 to your computer and use it in GitHub Desktop.
Save czosel/7693dda4ebdebcda2065c0b3087011c5 to your computer and use it in GitHub Desktop.
ember-validated-form with custom textareas
import Ember from 'ember';
import UserValidations from 'twiddle/validations/user';
export default Ember.Controller.extend({
UserValidations,
model: {
firstName: '',
lastName: ''
},
actions: {
submit(model) {
console.log('submit', model)
}
}
});
{{#validated-form
model=(changeset model UserValidations)
on-submit = (action "submit")
submit-label = 'Save' as |f|}}
{{#f.input label="First name" name="firstName" as |fi|}}
{{textarea
value=fi.value
input=(action fi.update value="target.value")
focus-out=fi.setDirty}}
{{/f.input}}
{{#f.input label="Last name" name="lastName" as |fi|}}
<textarea
oninput={{action fi.update value="target.value"}}
onblur={{action fi.setDirty}}>{{fi.value}}</textarea>
{{/f.input}}
{{f.submit label="Save"}}
{{/validated-form}}
{
"version": "0.12.1",
"EmberENV": {
"FEATURES": {}
},
"options": {
"use_pods": false,
"enable-testing": false
},
"dependencies": {
"jquery": "https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.js",
"ember": "2.12.0",
"ember-template-compiler": "2.12.0",
"ember-testing": "2.12.0"
},
"addons": {
"ember-data": "2.12.1",
"ember-validated-form": "0.4.0"
}
}
import {
validatePresence,
validateLength,
validateInclusion
} from 'ember-changeset-validations/validators';
export default {
firstName: [validatePresence(true), validateLength({ min: 3, max: 40 })],
lastName: [validatePresence(true), validateLength({ min: 3, max: 40 })]
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment