Backbone.js 主干验证不适用于保存
我有一个使用Backbone.js 主干验证不适用于保存,backbone.js,backbone.validation.js,Backbone.js,Backbone.validation.js,我有一个使用Backbone.Validations插件的简单模型 var LocationModel = Backbone.Model.extend({ validation: { location_name: { required : true, msg : 'A name is required for the location' } } // end validation }); var test = new Lo
Backbone.Validations插件的简单模型
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\u name”是必需的?我刚刚做了一系列测试,唯一能让它始终不发送请求的方法是在模型上创建默认值:
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();
这是一个例子。如果您注释掉默认值
,则它最初会发送一个请求,即使已验证
事件表示该请求无效。然后再次激发validated
,而不发送请求