我正在使用的old client side validations gem已不再维护。
我相信以上宝石的作者推荐ember-validations。我已经搜索过,无法找到有关如何在Rails中使用ember-validations gem的任何指南。
是否有人能够就如何实现这一目标建议任何资源?
答案 0 :(得分:0)
如果您使用ember作为Rails应用程序的一部分,则可以按照Dockyard版本的这些步骤操作。另外,请仔细阅读他们的文档here:
从Dockyard获取Ember-Validations javascript。
构建将在dist文件夹中生成多个文件。将文件“ember-validations.js”复制到您的ember应用程序的mixins文件夹中。
扩展您要验证的Ember应用中的每个模型。例如,它可能如下所示:
App.User = DS.Model.extend(Ember.Validations.Mixin, {
name: DS.attr('string'),
(etc...)
重新打开每个模型并编写验证文档,如文档所示。例如:
App.User.reopen({
validations: {
firstName: {
presence: true,
length: { minimum: 5 }
},
age: {
numericality: true
},
profile: true
}
});
您可能需要在控制器中为创建和更新操作添加一些内容,以便在保存之前检查模型是否已经过验证。你可以链接.validate()。then()。例如:
App.UsersAddNameController = Ember.ArrayController.extend({
actions: {
addName: function(present){
currentRecord = this.store.createRecord('name', {
name: this.get('newName'),
});
currentRecord.validate().then(function(){
currentRecord.save()
},
function(){
alert(currentRecord.get('errors.name'))
})
}
}
});