mercredi 23 novembre 2016

Ember-validation how to implement lazy validation

I am using ember-cli:2.5.0 and ember-validations:v2.0.0-alpha.5 In my ember-component i have a validation which is running automatically for each change in a attribute but i want to run this validation only if i call "validate()" method in technical term call validation lazily.

Please find the below code samples,

import Ember from 'ember';
import EmberValidations, { validator } from 'ember-validations';

export default Ember.Component.extend(EmberValidations, {

_bookModel(data = {}) {
return Ember.Object.extend(EmberValidations, {
  bookVersion: null,
  isEditable: false,
  validations: {
    bookVersion: {
      inline: validator(function() {
        var version = this.model.get('bookVersion') || "",
          message = [];

         if (Ember.isEmpty(bookVersion)) {
           message.push("Book Version is mandatory!!!");
         }

        if (message.length > 0) {
          return message.join(',');
        }
      })
    }
  }
}, data);
}

});

I want the above validation to run only calling "this.get('newBook').validate()". I am entirely new to ember so down-voter please put your comments before down-voting for other kindly let me know for any more code samples.

Your help should be appreciable.




Aucun commentaire:

Enregistrer un commentaire