ここでアプリケーションをローカライズしようとしていますが、モデルで検証メッセージを次のように実行しました。
var userModel = Backbone.Model.extend({
validate_msgs: {
empty_name: msg.empty,
min_length_name: msg.min,
max_length_name: msg.length,
invalid_name: msg.invalid
},
validation: {
name: [{
required: true,
msg: function(){ return this.validate_msgs.empty_name; }
},{
minLength: 3,
msg: function(){ return this.validate_msgs.min_length_name; }
},{
maxLength: 30,
msg: function(){ return this.validate_msgs.max_length_name; }
}, {
fn: "validateName"
}]
},
});
しかし、msg の return 関数の "this" は、次のように常にビューを指しています。
Backbone.Validation.bind( this, {valid:this.hideError, invalid:this.showError});
どうすればこれを処理できますか? それを行うより良い方法はありますか?