在我的Backbone应用程序中,我有一个由几个子模型组成的模型作为参数.
我这样定义它:
app.Models.Account = Backbone.Model.extend({
initialize : function( ) {
this.set( {
info : new app.Models.Info(),
logins : new app.Collections.Logins(),
billing : new app.Models.Billing(),
} );
}
});
Run Code Online (Sandbox Code Playgroud)
问题在于获取和保存.当我获取时,例如JSON响应包括一个对象info,一个数组logins和一个对象billing.Backbone自动将它们分配为普通参数,这意味着子模型被简单对象覆盖.
我目前的解决方案是覆盖fetch模型的方法,如下所示:
fetch: function( options ) {
options = options ? _.clone(options) : {};
var model = this;
var success = options.success;
options.success = function(resp, status, xhr) {
resp = model.parse( resp, xhr );
model.get('info').set(resp.info);
model.get('logins').reset(resp.logins);
model.get('billing').set(resp.billing);
if (success) success(model, resp);
};
options.error = …Run Code Online (Sandbox Code Playgroud) 我正在使用Backbone构建一些复杂的表单.如果我要对我所拥有的观点类型进行分类,我会说我有模型视图和集合视图.其中模型视图表示单个实体信息,而集合视图表示重复表单(例如,创建多个登录).
我使用模型绑定器插件进行双向绑定,表单工作正常,但我没有实现任何客户端验证.我正在考虑进行模型验证路线但是我意识到我希望客户端验证的原因是显示消息并告知用户更常见的错误,而不是实际确保数据的完整性,因为这是由服务器完成的.
我有兴趣听听关于哪种方法是好的任何模式/想法.
如果有任何帮助,我已经有jquery验证.
validation jquery jquery-validate backbone.js backbone-views