import computed from 'ember-addons/ember-computed-decorators'; export default Ember.TextField.extend({ classNameBindings: ['invalid'], @computed('number') value: { get(number) { return parseInt(number); }, set(value) { const num = parseInt(value); if (isNaN(num)) { this.set('invalid', true); return value; } else { this.set('invalid', false); this.set('number', num); return num.toString(); } } }, @computed("placeholderKey") placeholder(key) { return key ? I18n.t(key) : ""; } });