我有一个使用Backbone.Validations plugin
的简单模型。
var LocationModel = Backbone.Model.extend({
validation: {
location_name: {
required : true,
msg : 'A name is required for the location'
}
} // end validation
});
var test = new LocationModel();
test.url = 'http://link-goes-here';
test.save();
看来,在保存事件中,即使需要属性“location_name”,它也会继续保存我的空模型?
答案 0 :(得分:1)
我刚做了一堆测试,唯一可以让它始终不发送请求的方法是在模型上创建默认值:
var LocationModel = Backbone.Model.extend({
defaults: {
location_name: null
},
validation: {
location_name: {
required: true,
msg: 'A name is required for the location'
}
} // end validation
});
var test = new LocationModel();
test.on('validated', function() {
console.log(arguments);
});
test.url = '/echo/json';
test.save();
这是一个fiddle。如果您注释掉defaults
,它会在最初发送请求,即使validated
事件表明它无效。然后再次触发validated
而不发送请求。