3

バックボーン モデルがあり、セッターが呼び出されたときにいくつかの検証を行っています。エラーを返す代わりに、値を上書きしたい。どうすればいいですか?

myObj = Backbone.Model.extend({
  // Attributes
  x: function() { },
  y: function() { },

      // Validation
      validate: function(atr) {

            // Checking for number
            var numberRegex = /^\d+$/;

            if(!numberRegex.test(atr.x)) // not number
                  atr.x = 'NA'; // Trying to set x to "NA"
      }
});

ありがとう!

4

1 に答える 1

1

検証関数内で受け取る atr は、モデルの属性のコピーです。したがって、それを変更しても、モデルの属性は変更されません。検証呼び出し内で属性を設定するにはthis.set('x','NA',{silent:true});

于 2012-11-08T07:33:00.367 に答える