kelonye / ember-validate

Asynchronously validate ember objects

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Apply multiple and async validations to Ember Object propeties.

Install

$ component install kelonye/ember-validate

Example

  var Person = Em.Object.extend( require('ember-validate'), {

    validations: {

      email: [

        // built-in presence validation
        'presence',

        // built-in validation with custom error message
        ['email', 'Invalid email format'],

        // custom async validation
        [
          function(obj, attr, options, done){
            var email = obj.get(attr);
            function success(res){
              done();
            }
            function error(error){
              done(error)
            }
            Em.ajax({
              url: '/validate-email/' + email
              type: 'GET',
              success: success,
              error: error
            });
          },
        ],

      ],

  });

  // create person and validate
  var person = Person.create();
  person.validate(function(){
    var errors  = person.get('_errors');
    var isValid = person.get('_isValid');
    console.log(errors.get('email'));
  });

See kelonye/ember-error-support on use with text fields.

Test

$ make test

License

MIT

About

Asynchronously validate ember objects


Languages

Language:JavaScript 87.6%Language:HTML 8.5%Language:Makefile 3.9%