
var Model = Backbone.Model.extend({
url:'data/cutprice.json',
validate : function(attrs) {
console.log(attrs.user.tel);
//为什么会输出两个;还有就是先后循序
}
});
this.model= new Model();//这里输出一次?先是undefined?
var user = this.model.get('user');
var phone=$("input[name='reg-tel']").val();
user.tel = phone;
this.model.set({'user': user},{merge: true});
this.model.save();//这里验证一次,输出的值是正确的,但是循序;
想请大神解释下三个的顺序造成的原因?
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
save()//保存,调用validate,调用sync,第一次是create,第二次是update
他会先调用一次validate,第二次要保存的服务器中,然后又验证了一次(可能防止被修改吧)
参考这里的博客,自己也做了实验
http://zccst.iteye.com/blog/2085123
Backbone 在
model save的时候默认是会触发validate的,但是new的时候是应该是不会触发的。你自己看下文档 http://backbonejs.org/#Model-validate
我局的应该是
你可以在
后面加一个return 看看只执行到