gpt4 book ai didi

javascript - 主干验证不起作用

转载 作者:行者123 更新时间:2023-12-03 02:35:45 25 4
gpt4 key购买 nike

我使用 Backbone 的 validate 函数来保证 Manage 属性大于 18。这是我的代码:

var Man = Backbone.Model.extend({
initialize : function(){
this.on("error",function(model,error){
alert(error);
});
},
validate : function(attrs,options){
if (attrs.age < 18){
return 'below 18';
}
}
})

var man = new Man({name : 'qian', age : 12});

但从结果来看,validate 似乎不起作用。

最佳答案

在 Backbone.js(0.9.10 版本之前)中,validatesave 之前以及 set 之前调用

当您设置无效值时,您将收到警报错误。

示例 - age 值低于 18:

var man = new Man ({name : 'qian', age : 12});
man.set({ age: 12 }); // that will trigger alert

编辑

对于 Backbone.js 版本 0.9.10+ 报告了一个问题:Failed validation does not trigger error callback 。问题解释说

invalid event should be used instead of error

因此将您的代码更改为:

var Man = Backbone.Model.extend({
initialize : function(){
this.on("invalid",function(model,error){
alert(error);
});
},
...

并且将 validate 选项设置为 true 的变量将触发警报

man.set({age: 12}, {validate : true});

关于javascript - 主干验证不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14426155/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com