0
это моя модельbackbonejs проверки на создание
Msg = Backbone.Model.extend({
validate: function(attr){
if(attr.msg === undefined || attr.msg === ''){
return "empty messege";
}
},
initialize: function(){
this.on('invalid',function(model,error){
console.log(error);
});
}
});
и у меня есть коллекция из MSGS msgCollection
так, если я msgCollection.create({msg:''});
эта модель будет добавлена в коллекцию
как я могу предотвратить это
Это не должно произойти, из документации: «Если проверка на стороне клиента не удалось, модель будет неспасенный , с ошибками проверки. ". Только после сохранения модель добавляется в коллекцию: «добавление модели в набор после успешного создания». – GijsjanB
@GijsjanB да, он не запускает запрос на отправку, но он все еще добавляет в коллекцию на стороне клиента. – SRN
Я протестировал ваш код и на самом деле он добавляет модель (вопреки тому, что заставляют вас документировать;))! Вы можете передать {wait: true} в качестве опции, поэтому он не будет добавлять или вызвать collection.pop() из недопустимого прослушивателя событий. {wait: true} - это путь, так как недействительный прослушиватель событий можно вызвать также, когда вы не создаете модель и, следовательно, не хотите всплывать последний msg. – GijsjanB