1

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

我想在创建新模型实例时开始验证。通常在 Backbone 中应该实现一个验证函数,然后当我们应该通过{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
        }

});
4

1 回答 1

2

问题解决了

因此,插件文档中包含有关模型验证的信息,而无需与视图绑定。

使用模型验证

这种使用插件的方式背后的理念是为您提供一种简单的方法来实现所有模型的验证,而无需绑定到视图。当然,如果您使用此选项,则不会执行更新视图的回调,因为无法知道模型属于哪个视图。

验证混合

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

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

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

从现在开始,我们可以在我们的实例上使用 validation.plugin

于 2017-01-08T14:08:43.100 回答