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
参数以及如何使用它?或者我必须找到其他一些解决方法(在模型上设置标志等)谢谢!
答案 0 :(得分: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 });