我尝试使用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
}
});
答案 0 :(得分:2)
问题已解决
因此,在插件文档中,有关模型验证的信息,而不与视图绑定。
使用模型验证
这种使用插件的方式背后的理念是给你一个 在没有。的情况下,在所有模型上实现验证的简便方法 需要绑定到视图。当然,如果你使用这个选项了 没有执行更新视图的回调,因为没有办法 知道模型属于哪个视图。
验证混合
要为模型添加验证,请混合模型的验证 原型。
_.extend(Backbone.Model.prototype, Backbone.Validation.mixin);
因此我们可以使用基本模型创建一个扩展Backbone.Model.prototype的文件。现在每个新类都应该由我们的类Model扩展。
从现在起,我们可以在我们的实例上使用validation.plugin