Validation 复杂对象属性的主干验证(momentjs)

Validation 复杂对象属性的主干验证(momentjs),validation,backbone.js,momentjs,Validation,Backbone.js,Momentjs,我在模型中使用momentjs对象: var MyModel = Backbone.Model.extend({ defaults: { iamString: "hello", iamDate: moment() }, validation: { iamString: { required: true, fn: function (value, attr, computedS

我在模型中使用momentjs对象:

var MyModel = Backbone.Model.extend({
    defaults: {
        iamString: "hello",
        iamDate: moment()
    },

    validation: {
        iamString: {
            required: true,
            fn: function (value, attr, computedState) {
                alert('Validation of iamString get called!');
            }
        },
        iamDate: {
            required: true,
            fn: function (value, attr, computedState) {
                alert('Validation of iamDate get called!');
            }
        }
    },

    print: function () {
        return this.get('iamString') + ' ' + this.get('iamDate').format('YYYY-MM-DD hh:mm:ss');
    }
});
如果我更新模型,将调用
iamString
验证,但永远不会调用
iamDate
验证

这是。如何使iamDate验证成为可能?

如果调用矩()函数,则必须添加格式

$('#validate').click(function () {
        mymodel.set({
            iamString: 'bye bye',
            iamDate: moment('2014-05-05 12:12:12').format('YYYY-MM-DD hh:mm:ss')
        }, {
            validate: true
        });
        alert(mymodel.print());
    });

我为什么要这样做?我希望模型中有矩对象,而不是它的字符串表示形式。我明白了。将是对象的“iamDate”。我认为主干。验证不支持这一点。您必须编写自己的验证函数。。