API Docs for:
Show:

File: packages/bricksui-i18n/lib/i18n-validator.js

/**
 @module bricksui
 @submodule bricksui-i18n
 @description 国际化支持
 @constructor
 */
/**
 * @class I18nableValidationMixin
 * @extends Ember.Validations.Mixin
 * @namespace BricksUI.I18n
 * @description 继承自Ember-Validations,拓展语言切换支持。通过该方法可做到即时的语言切换,缺点在于很难与默认的t.i18n进行交互
 * 该方法订阅 'i18nChange' 事件,在事件触发后,调用自身 validate方法
 * 使用方法为在需要使用校验的对象中参入I18nableValidationMixin
 * 如:
 ```javascript
  var Post=DS.Model.extend(BricksUI.I18n.I18nableValidationMixin,{
    title:DS.attr('string')
    validations: {
      title:{
        presence: true,
        length: { minimum: 5 }
      }
    }
 })
 ```
 */
var I18nableValidationMixin = Ember.Mixin.create(Ember.Validations.Mixin,{
  init: function () {
    this._super();

    var validatorMixin = this;
    Ember.subscribe("i18nChange", {
      after: function (name, timestamp, payload) {
        validatorMixin.validate();
      }
    });
  }
});
export default I18nableValidationMixin;