Я переопределил Backbone.Model и расширил мою собственную модель с помощью метода проверки, но, похоже, это не срабатывает при обновлении моей модели с помощью набора, включая флаг validate: true.Магистральная модель не проверяет
Mod.Field.Model = App.Base.Objects.BaseModel.extend({
url: "../WebServices/Myclass.asmx/GetData",
defaults: {
DisplayName: ""
},
validate: function (attrs) {
if (attrs.DisplayName == "") {
return "DisplayName cannot be an empty string.";
}
}
});
В моей CollectionView:
item_view.model.set({ "DisplayName": event.target.value }, { silent: false, validate: true });
Ничто, кажется, чтобы вызвать метод проверки на модели при вызове набора. Я также пробовал это также:
item_view.model.isValid();
Но это также не вызывает его.
Использование Backbone версии 1.1
Вы переопределить метод model.set? –
Единственный метод, который я переопределил, - это синхронизация. – bretcj7
Если вы проверили 'item_view.model.get (« DisplayName »)' вы получаете значение, которое вы установили? –