1

次のコードを実行しようとしています。

var eligible = Backbone.Model.extend({
        validate : function(attrs,options){
            //alert("ldsafh");
            if(attrs.min < attrs.max) {
                return "not eligible for voting";
            }   
        }

    });

        var age = new eligible({
            advice : "You are "
        });


        age.on("invalid", function(model, error) {
            alert("sfndxgj");
            console.log(model.get('advice') + " " + error);
        });

        age.set({
            min : 18,
            max : 100
        });

このage.onイベントが機能しないのはなぜですか? ここで私を助けてください....

4

2 に答える 2

3

{validate:true}セットのオプションとして渡します。

デフォルトでは、validate は保存前に呼び出されますが、{validate:true} が渡された場合は設定前に呼び出すこともできます

http://backbonejs.org/#Model-validate

:invalidイベントは Backbone 1.0 にアップグレードした後にのみ利用できます。変更ログを参照

于 2013-03-22T05:33:42.713 に答える
1

メソッドを呼び出すage.set()代わりにage.save()呼び出しているvalidateからです。

于 2013-03-22T04:28:43.503 に答える