gpt4 book ai didi

javascript - Backbone.js 如何在成功验证时清除 model.validationError

转载 作者:行者123 更新时间:2023-12-02 17:41:24 24 4
gpt4 key购买 nike

我有一个使用 Backbone 的 model.validate 函数来验证表单的表单。该表单监听模型的 changesync invalid 事件,如果模型具有 validationError 属性,则以错误状态呈现。当验证失败时,这非常有用,但当验证随后成功时,validationError 对象仍然存在。

我知道这是 expected behaviour ( http://backbonejs.org/#Model-validationError ),但我需要一种方法在先前验证失败时运行错误渲染代码,而不调用 model.isValid(),因为对于使用此通用 View 的某些类型的模型,我的验证代码相当复杂。

render: function() {
var html = '';

// Error Row html
if (this.model.validationError) {
html += this.renderValidationErrors();
}

...

this.$el.html(html);

...

}

最佳答案

在 Backbone 中,当您(或 Backbone)执行 setsaveisValid 框架设置调用 validate 的结果时code> 方法到 validationError 属性。

模型中的方法validate应返回nullundefined,并且该值将在this.model.validationError<中设置 属性。

如果您有 validate 方法,那么在验证通过时返回 null 的最简单方法。

示例:

validate: function() {
var errors = [];
if (!this.get('name')) {
errors.push({'name': 'Name is required'});
}
return errors.length ? errors : null;
}

关于javascript - Backbone.js 如何在成功验证时清除 model.validationError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22181295/

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