gpt4 book ai didi

backbone.js - 使用 Backbone Stickit 进行 Backbone Validation - 更改属性时验证所有属性

转载 作者:行者123 更新时间:2023-12-04 15:22:54 26 4
gpt4 key购买 nike

我正在尝试将 Backbone Validation 与 Backbone Stickit 结合使用,我希望在用户输入时一次验证一个属性。但是,当用户输入一个值时,模型上的所有属性都会得到验证,而不仅仅是用户更改的属性。我究竟做错了什么?

我的看法:

bindings:{
'#username' : {
observe:'username',
setOptions: {
validate:true
}
},

'#email' : {
observe:'email',
setOptions: {
validate:true
}
},

'#firstname' : {
observe:'firstName',
setOptions: {
validate:true
}
},

.......

onShow: function(){
Backbone.Validation.bind(this, {
valid: function(view, attr) {
alert('VALID - ' + attr);
},
invalid: function(view, attr, error) {
alert('INVALID - ' + attr);
}
});

this.stickit();

},

最佳答案

你所经过的一切setOptions在模型中设置值时使用 (1) .当您通过validate: true对于 Backbone 模型的 set 函数,它将验证模型中的值以及传递给 set 函数的值 (2)这意味着每次您设置导致您现在看到的问题的新值时,它都会验证整个模型。你没有做错任何事。

您可以通过将验证拆分为多个单独的函数并仅在属性更改时调用所需的函数,然后更改验证函数以调用所有这些单独的函数来验证整个模型来解决此问题。

关于backbone.js - 使用 Backbone Stickit 进行 Backbone Validation - 更改属性时验证所有属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21637996/

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