Запускаю учебный пример
http://backbonejs.ru/#Model-validate с валидаторм (backbone 0.9.2) и все прекрасно работает. Пытаюсь сделать то же самое в своем проекте. Беру свежую версию backbone 1.0.0 и ... ничего. Функция validate не вызывается. Пытаюсь понять в чем дело... Лезу в код backbone, ищу соответствующий кусок:
v 0.9.2
_validate: function(attrs, options) {
if (options.silent || !this.validate) return true;
attrs = _.extend({}, this.attributes, attrs);
var error = this.validate(attrs, options);
v 1.0.0
_validate: function(attrs, options) {
if (!options.validate || !this.validate) return true;
attrs = _.extend({}, this.attributes, attrs);
var error = this.validationError = this.validate(attrs, options) || null;
Разница в именах переменных не принципиальна. Но!!! В новой версии во второй строке перед переменной options появился знак
!. Соответственно происходит выход из _validate, соответственно не вызывается функция validate.
Как я понимаю, это совсем не то, что должно быть... Или я не прав?