我正在尝试使用ember-validations 验证单个组件中的字段,但可以将验证对象传递给组件,而不是在内部硬编码。这段代码:
EditDefaultPropertyComponent = Ember.Component.extend EmberValidations.Mixin,
validations:
value:
numericality: true
onValueObserver: Ember.observer('value', ->
@validate()
.then(() =>
...
console.log 'good'
@set 'error', null
)
.catch((err) =>
...
console.log 'bad'
@set 'error', err
)
)
setupFlags: (->
...
).on('init')
可以正常工作,但是如果我想在组件的初始化时设置带有一些任意验证的验证对象作为参数传递给组件,例如在setupFlags中:
setupFlags: (->
@setProperties(
...
@set 'validations', Ember.copy ( { value: { numericality: true }}))
).on('init')
不会工作。无论输入如何,它都将始终打印“好”。如果我访问
console.log (@get 'validations')
在@validate方法的then()分支内,它显示了对象。我在这里错过了一些控制流程吗?