Ember.TextField
親オブジェクトが無効な場合にテキスト フィールドのクラスを変更するための拡張機能を作成しています。ember-validations ライブラリを使用して、ember-data オブジェクトの検証を行っています。validationMethod
これは現在機能していますが、変数を渡さずに実行できるようにしたいと考えています。valueBinding
ビュー内から渡されたテキスト文字列だけを取得するにはどうすればよいですか?
address.js.コーヒー
App.Address = DS.Model.extend(Ember.Validations,
street_1: DS.attr('string')
street_2: DS.attr('string')
...
validations:
street_1:
presence: true
)
validated_text_field.js.coffee
Ember.ValidatedTextField = Ember.TextField.extend(
validationMethod: null
classNameBindings: 'error'
focusOut: ->
object = @get('controller').get('content')
object.validateProperty(@get('validationMethod'))
error: (->
object = @get('controller').get('content')
if object.get("isValid")
return false
else
error_keys = object.get("validationErrors." + @get('validationMethod') + ".keys")
if error_keys
return error_keys.length > 0
else
return false
).property('controller.content.isValid')
)
edit.handlebars
{{view Ember.ValidatedTextField validationMethod="street_1" valueBinding="street_1" id="street_1" placeholder="Street 1" required="true"}}
...