Я следую этим лекциям https://tutsplus.com/course/connected-to-the-backbone/, чтобы узнать основную информацию, и я пришел к своему знанию о том, что функция (если существует) вызывается всякий раз, когда мы устанавливаем значение любой переменной внутри этой модели. Я написал эту модель:Валидация в магистральных моделях
var PersonModel = Backbone.Model.extend({
defaults: {
name: 'Kamran Ahmed',
rollNo: '1224',
email: '[email protected]'
},
validate: function (attrs){
if (!attrs.name) {
return 'You must provide a name';
}
if (attrs.rollNo < 0) {
return 'Roll Number must be positive';
}
}
});
И я пытаюсь следующее:
var person = new PersonModel();
person.set('rollNo', -100) // trying to violate the validation rule
Но он никогда не проверяет то есть значение -100
по-прежнему назначается rollNo
. Кроме того, он сохраняет возвращающий весь объект, когда я делаю person.set('rollNo', -100)
, тогда как он должен возвращать значение false, когда нарушается правило проверки. Что я здесь делаю неправильно? Почему проверка не выполняется?