我正在尝试 DockYard 的ember-validations mixin。我有一个看起来像这样的 NewUser 对象:
App.NewUser = Ember.Object.extend(Ember.Validations.Mixin, {
name: null,
email: null,
password: null,
password_confirmation: null,
validations: {
name: {
presence: true
}
},
watchChanges: function() {
// Live validations...
this.validate();
}.observes("name", "email", "password", "password_confirmation")
});
我有一个控制器,里面有我的submit
方法:
App.JoinController = Ember.ObjectController.extend({
submit: function() {
// Run validations again
// Send to server if okay
this.get("model").validate();
}
});
以及将模型链接到视图的路线:
App.JoinRoute = Ember.Route.extend({
model: function() {
return App.NewUser.create();
}
});
(这也是一个将提交方法转发给控制器的视图)
我不明白的是如何从 Controller 连接回模型对象以运行.validate()
。似乎我应该能够在控制器的提交方法中执行某些操作,例如this.get("model").validate()
,但这不起作用。我应该如何去做这项工作?