0

Backbone.js 让我可以使用原型扩展模型的验证功能:validate: function (attrs, options) { ... }.

我想做的是只有在将某个选项传递给 options 参数时才能执行一些测试。我曾尝试调用model.isValid({specialCheck: true})并检查options.specialCheckvalidate 函数,但它似乎不起作用:

validate: function(attrs, options) {
  if(options.specialCheck) {
    // Perform special checks
    ...
  }
  // Perform regular checks
  ...
}

什么是options参数,我该如何使用它?还是我必须找到其他解决方法(在模型上设置标志等)谢谢!

4

1 回答 1

3

以下代码(jsfiddle)有效:

var MyModel = Backbone.Model.extend( {
    validate : function( attrs, options ) {
        if( options.specialValidation ) {
            alert("is special");
        }
        else {
            alert("is not special");
        }
    }
});

var m = new MyModel();

m.isValid({ specialValidation : true });
于 2013-05-24T20:53:04.873 回答