backbone.validation插件。验证不适用于模型

时间:2017-01-07 23:40:48

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

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

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

如何使用此插件获得相同的结果?
    

   //create picture instance in a controller 
    var model = new Picture({
            name: file.name,
            size: file.size, 
            type: file.type
     }, {validate: true} );
    

//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
        }

});

1 个答案:

答案 0 :(得分:2)

问题已解决

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

  

使用模型验证

     

这种使用插件的方式背后的理念是给你一个   在没有。的情况下,在所有模型上实现验证的简便方法   需要绑定到视图。当然,如果你使用这个选项了   没有执行更新视图的回调,因为没有办法   知道模型属于哪个视图。

     

验证混合

     

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

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

因此我们可以使用基本模型创建一个扩展Backbone.Model.prototype的文件。现在每个新类都应该由我们的类Model扩展。

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