バックボーンとマリオネットを使用しています。バックエンドからモデルを取得しています。
モデルはコレクションに属しています。問題は次のとおりです
。1) 初期化内から明示的に指定しない限り、validate メソッドが呼び出されることはありません。なんで?
2) 検証メソッドを明示的に呼び出すと、テスト用に作成した無効なモデルが正しく返されます。しかし、「無効な」イベントをキャッチできません。私は何を間違っていますか?
モデルは次のとおりです。
var Job = Backbone.Model.extend({
validate: function(attrs){
if (! attrs.title ) {
return "A job should have a title";
}
},
initialize: function(){
this.validate(this.attributes); //manual call to validate
this.on("invalid", function(model, error){ //never executed even when the validate model returns the error string
console.log(error);
});
}
});
そしてここにコレクション:
var JobList = Backbone.Collection.extend({
model: Job,
url: '/api/1.0/jobs/',
parse: function(response) {
return response.results;
}
});