0

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パラメータとは何ですか?どのように使用できますか? または、他の回避策 (モデルにフラグを設定するなど) を見つける必要がありますか?ありがとう!

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 に答える