Backbone.Validation插件 - 如何仅验证设置的属性

时间:2014-01-21 02:24:13

标签: backbone.js backbone.validation.js

如何验证所设置的那个。是否存在除model.isValid(true)或model.validate()之外的其他方法,它不会验证完整模型。以下是我的代码中的一些配置

_.extend Backbone.Model.prototype, Backbone.Validation.mixin
Backbone.Validation.configure
        forceUpdate: true

使用{validate:true}设置一个属性会触发整个模型的验证

感谢

2 个答案:

答案 0 :(得分:1)

model.isValid(true)验证定义了验证的模型的所有字段,如果设置了任何字段,则忽略该事实。

例如: 假设你有一个有三个字段的模型即。 field1,field2,field3

var model = Backbone.Model.extend({
  validate: function(){
   //validation rules for field1, field2, field3
}
});

现在假设你做了model.isValid(true),它将验证所有三个字段,无论如何。 (作为参数传递true)。如果你做了model.isValid(),那么它只会验证设置的字段。

现在回答您的问题,您要求的东西只能验证您设置的字段。为此你可以使用以下:

var isValid = model.isValid('field1');

答案 1 :(得分:0)

preValidate 方法可用,它只验证传递给它的属性。

方法说明:https://github.com/thedersen/backbone.validation#prevalidate