помогите пожалуйста понять почему форма получается всегда валидной
jsfiddle:
http://jsfiddle.net/udXL5/629/
я использую плагин backbone-validation и бутстраповские модальные окна. в модели прописываю такие правила валидации:
APP.DiaryModel = Backbone.Model.extend({
defaults: {
title: undefined,
desc: undefined
},
validation: {
title: [
{ required: true, msg: 'Поле не может быть пустым' },
{ minLength: 3, msg: 'Введите не менее 3 символов' }
],
desc: [
{ maxLength: 200, msg: 'Введите не более 200 символов' }
]
}
});
после того как я пытаюсь сабмитить форму с пустым полем #diaryTitle, я получаю в консоли следующее:
is v true true true
(index):164 valid r {cid: "c3", attributes: Object, _changing: false, _previousAttributes: Object, changed: Object…}
то есть получается так что форма валидна(!). а в реальности она не валидна. потому что поле #diaryTitle пустое
код, отвечающий за валидацию в APP.DiariesView:
events:{
'click #showAddDiaryModal' : 'showAddDiaryModal',
'click #addDiaryBtn' : 'addDiary'
},
addDiary: function() {
var titleValue = $.trim(this.$el.find('#diaryTitle').val()),
descValue = $.trim(this.$el.find('#diaryDesc').val());
var model = new APP.DiaryModel();
model.set({
title: titleValue,
desc: descValue
});
console.log('is v', model.isValid(), model.isValid('title'), model.isValid('desc'))
if(model.isValid()) {
console.log('valid', titleValue, descValue, model)
} else {
console.log('invalid')
};
}