Backbone.js允许我用原型扩展模型的验证函数:validate: function (attrs, options) { ... }
。
我想做的是能够执行一些测试只有当一个特定的选项被传递到options参数。我试过在验证函数中调用model.isValid({specialCheck: true})
并检查options.specialCheck
,但它似乎不起作用:
validate: function(attrs, options) {
if(options.specialCheck) {
// Perform special checks
...
}
// Perform regular checks
...
}
什么是options
参数,如何使用它?或者我必须找到一些其他的解决方案(在模型上设置标志等),谢谢!
下面的代码(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 });