【问题标题】:backbone.validation plugin. Validation doesn't work on model骨干.验证插件。验证不适用于模型
【发布时间】:2017-01-07 23:40:47
【问题描述】:

我尝试使用 Backbone.validation 插件。
这是该插件的链接。 https://github.com/thedersen/backbone.validation.

我想在创建新模型实例时开始验证。通常在 Backbone 中应该实现一个 validate 函数,然后当我们应该通过 {validate:true}

如何用这个插件达到同样的效果?

//在控制器中创建图片实例 var 模型 = 新图片({ 名称:文件名, 大小:文件大小, 类型:file.type },{验证:真});
//Picture class
export default Backbone.Model.extend({
    defaults: {
        name: "",
        size: null, 
        type: ""
    },
    validation: {
        size: function (size) {
            if(size > this.MAX_FILE_SIZE;) {
                return this.onFileSizeError()
            }
            return '';
        },
        onFileSizeError() {
             //execute this when model size is wrong
        }

});

【问题讨论】:

  • 可能需要用到_.extend(Backbone.Model.prototype,Backbone.Validation.mixin);

标签: javascript backbone.js backbone.validation.js


【解决方案1】:

问题已解决

因此,插件文档中包含有关在未绑定视图的情况下对模型进行验证的信息。

使用模型验证

这种使用插件的方式背后的理念是给你一个 无需 需要绑定到视图。当然,如果你使用这个选项 不执行更新视图的回调,因为没有办法 知道模型属于哪个视图。

验证混合

要为您的模型添加验证,请在模型的验证中混合 原型。

 _.extend(Backbone.Model.prototype, Backbone.Validation.mixin);

所以我们可以创建一个带有基本模型的文件,该模型将扩展 Backbone.Model.prototype。现在每个新类都应该由我们的模型类扩展。

现在我们可以在我们的实例上使用validation.plugin

【讨论】:

    猜你喜欢
    • 2012-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多