Javascript 保存(更新)现有模型时未触发验证
如果您能帮助我理解为什么在backbone.js 1.0.0版中保存(即更新)现有模型时不会触发validate方法,我将不胜感激。下面是简化的伪代码;保存时验证“新”(模型)位置,但不验证“现有”(模型)位置Javascript 保存(更新)现有模型时未触发验证,javascript,web-applications,backbone.js,Javascript,Web Applications,Backbone.js,如果您能帮助我理解为什么在backbone.js 1.0.0版中保存(即更新)现有模型时不会触发validate方法,我将不胜感激。下面是简化的伪代码;保存时验证“新”(模型)位置,但不验证“现有”(模型)位置 if (id) { // options contains places collection place = this.options.places.get(id); place.on('invalid', function(m,e) {...}); place.sav
if (id) {
// options contains places collection
place = this.options.places.get(id);
place.on('invalid', function(m,e) {...});
place.save({...}, {wait: true, error: ..., success: ...})
} else {
place = new App.Place()
place.on('invalid', function(m,e) {...});
place.save({...}, {wait: true, error: ..., success: ...})
}
谢谢
-Ari尝试通过传递
{validate:true}
来强制验证:
place.save({...}, {wait: true, error: ..., success: ..., validate: true });
查看主干模型的save方法代码,有两种方法不运行validate方法。首先是没有验证方法(您肯定有一个…)。第二个是没有将“等待”标志设置为true。您能提供一个JSFIDLE吗?我建议您使用调试器进入代码,看看为什么它会跳过对
validate
的调用。