我有一个模型
var Info = Backbone.Model.extend({
url: '',
defaults: {
username: '',
email: '',
error: ''
},
initialize: function(){
console.log('Obj created');
},
validate: function(attr){
if(!attr.username){
attr.error = 'Username cannot be empty';
}
}
});
View
var model = new Info();
var View1 = Backbone.View.extend({
model: model,
initialize: function(){
this.render();
},
render: function(){
var template = _.template($('#App1').html());
this.$el.html(template);
},
'events': {
'click #btn1': 'submit'
},
submit: function(){
var obj = {
username: $('#username').val(),
email: $('#pwd').val)
};
this.model.save();
}
});
这里我想在验证事件期间设置model.set({error: 'Message goes here'})
。
但是,validate
仅返回true / false。有没有办法可以在validate方法中设置值。
答案 0 :(得分:0)
您可以在validate()
函数中设置错误属性:
this.set('error', 'Message goes here')
设置后,可以通过this.model.get('error')
从视图对象代码中访问错误消息。