Javascript 保存(更新)现有模型时未触发验证

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

如果您能帮助我理解为什么在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.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
的调用。