【问题标题】:backbone.validation plugin and server side validations主干.validation 插件和服务器端验证
【发布时间】:2013-07-29 20:49:02
【问题描述】:
我正在使用Backbone.Validation 插件。我有一个模型可以在服务器端进行唯一性检查。如何让backbone.validation 识别错误并运行我设置的回调以显示返回的错误消息?
this.model.save()
.done(function(model) {
App.currentRouter.navigate('#/', {trigger: true});
})
.fail(function(response) {
alert('errors: ' + JSON.stringify(response));
// ? have backbone.validation handle errors ?
});
提前致谢!
【问题讨论】:
标签:
validation
backbone.js
backbone-views
【解决方案1】:
所以不确定这是否是最好的方法,但我找到了一个可行的解决方案。
this.model.save()
.done(function(model, response, options) {
App.protocols.add(model);
App.currentRouter.navigate('#/', {trigger: true});
})
.fail(function(response, xhr, options) {
var errors = JSON.parse(response.responseText)['errors'];
_.each(errors, function(val, attr){
Backbone.Validation.callbacks.invalid(self, attr, val, 'name');
});
self.model.trigger('validated', false, self.model, errors);
self.model.trigger('validated:invalid', self.model, errors);
});