我在我的模型中使用了一个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
验证。
这是jsfiddle sample。如何才能使iamDate
验证成为可能?
答案 0 :(得分:0)
如果您调用moment()函数,则必须添加格式。
$('#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());
});