validation - backbone.validation 插件和服务器端验证

标签 validation backbone.js backbone-views

我正在使用 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 ?
   });

提前致谢!

最佳答案

所以不确定这是否是最好的方法,但我找到了一个可行的解决方案。

  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);
    });

关于validation - backbone.validation 插件和服务器端验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17933914/

相关文章:

php - is_int、is_numeric、is_float 和 HTML 表单验证

javascript - 更改异步验证器的运行方式

backbone.js - 如何从 Backbone .js中的 View 访问模型数据

javascript - 克隆主干模型属性

php - 在使用 CodeIgniter 的表单验证类之前处理输入

jquery - 仅当选中复选框时才使用 jquery 验证字段

javascript - 新的 Backbone.Model() 与 Backbone.Model.extend()

javascript - 此 Backbone TodoMVC 示例中的这些模式是什么

javascript - 将 AngularJS 与 BackboneJS 一起使用

backbone.js - 不带 id 的 Backbone 模型获取(用于显示登录用户的详细信息)