Javascript 主干模型验证问题
我计划用于模型/表单验证。但模型继续保存,而表单无效。怎么了Javascript 主干模型验证问题,javascript,validation,backbone.js,Javascript,Validation,Backbone.js,我计划用于模型/表单验证。但模型继续保存,而表单无效。怎么了 _.extend(Backbone.Model.prototype, Backbone.Validation.mixin); M=Backbone.Model.extend({ validation:{ name:{ required:true } }, url:'foo' }) m=new M(); m.validate(); //retu
_.extend(Backbone.Model.prototype, Backbone.Validation.mixin);
M=Backbone.Model.extend({
validation:{
name:{
required:true
}
},
url:'foo'
})
m=new M();
m.validate(); //return correct validation error.
m.validationError; // this is null while it should be filled by above error
m.save(); // it communicate with server while the model is not valid
尚未设置属性名称。请尝试以下代码
M = Backbone.Model.extend({
defaults: {
name: null
},
validation:{
name:{
required:true
}
},
url:'foo'
});
谢谢我希望它在未来的版本中不使用默认值。但它仍然会保留
validationError
null;m、 save();m、 unset(名称)然后执行m.save()
它将再次尝试保存无效的模型。Ya,因为您再次删除了该属性。因此,它试图在不存在的属性上进行验证。基本上,验证器首先需要知道模型的模式。在插件示例中,很多元素都没有设置默认值,比如对signup方法和serializegist进行检查。当前var data=this.$el.serializeObject();此.model.set(数据)代码>将属性序列化到模型中。因此,属性存在于模型中,而不必首先设置默认值。这是一种方法,但我更喜欢设置模式。因此,我对我的模型和它应该是什么样子有了看法。