Skip to content

Instantly share code, notes, and snippets.

@czosel
Created July 18, 2018 07:43
Show Gist options
  • Select an option

  • Save czosel/f90c460d5d1e06a94d6c344defcc9b4b to your computer and use it in GitHub Desktop.

Select an option

Save czosel/f90c460d5d1e06a94d6c344defcc9b4b to your computer and use it in GitHub Desktop.

Revisions

  1. czosel created this gist Jul 18, 2018.
    13 changes: 13 additions & 0 deletions controllers.application.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,13 @@
    import Ember from 'ember';
    import UserValidations from 'twiddle/validations/user';

    export default Ember.Controller.extend({
    UserValidations,

    actions: {
    submit(model) {
    console.log('submit', model)
    model.save()
    }
    }
    });
    11 changes: 11 additions & 0 deletions routes.application.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,11 @@
    import Ember from 'ember';

    export default Ember.Route.extend({
    model() {
    return Ember.RSVP.hash({
    user: {
    firstName: 'Test',
    }
    });
    }
    });
    10 changes: 10 additions & 0 deletions templates.application.hbs
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,10 @@
    {{#validated-form
    model=(changeset model.user UserValidations)
    on-submit = (action "submit")
    submit-label = 'Save' as |f|}}

    {{f.input label="First name" name="firstName" disabled="true"}}
    {{f.input label="Last name" name="lastName"}}
    {{f.submit label="Save"}}
    {{/validated-form}}

    20 changes: 20 additions & 0 deletions twiddle.json
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,20 @@
    {
    "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.6.1"
    }
    }
    10 changes: 10 additions & 0 deletions validations.user.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,10 @@
    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 })]
    };