gpt4 book ai didi

ruby-on-rails - 使用backbone.js 和Ruby on Rails 进行验证

转载 作者:行者123 更新时间:2023-12-04 13:08:49 24 4
gpt4 key购买 nike

有没有人对在 rails 2.x 或 3.x 上使用 Backbone.js 和 ruby​​ 进行验证有任何建议或示例?

最佳答案

一种方法是在您通过分配默认错误处理程序扩展的基本模型中定位您的错误处理。此错误处理程序应处理客户端和服务器错误显示。下面是基本模型扩展的样子:

Model = Backbone.Model.extend({

ui: Utils.UI,

initialize: function(attributes, options) {
options || (options = {});
_.bindAll(this, 'defaultErrorHandler');
this.bind("error", this.defaultErrorHandler);
this.init && this.init(attributes, options);
},

// Gets call for failures in validate and for server failures.
defaultErrorHandler: function(model, error) {
var errors;
if (_.isArray(error)) {
errors = error.join('<br/>');
} else {
// Server error; parse as needed into a displayable error.
}
this.ui.showError(errors);
}

});

然后其他模型可以扩展并获得此验证功能。这是一个 Session 模型,其中包含其客户端验证:
Session = Model.extend({

validate: function(attrs) {
var errors = []
if (_.isEmpty(attrs.email)) {
errors.push("Email can't be blank");
}
if (_.isEmpty(attrs.password)) {
errors.push("Password can't be blank");
}
return _.any(errors) ? errors : null;
}

});

您也可以在验证函数中处理所有这些,因为它在保存之前和保存之后被调用,保存之后它可能会处理从服务器响应中解析出来的错误。

使用上述方法,在调用模型的保存函数时无需指定错误函数。它应该由基本功能处理。

关于ruby-on-rails - 使用backbone.js 和Ruby on Rails 进行验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6281023/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com