0

如何仅验证已设置的。除了 model.isValid(true) 或 model.validate() 之外,是否还有其他方法无法验证完整模型。这是我的代码中的一些配置

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

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

谢谢

4

2 回答 2

1

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

例如:假设您有一个具有三个字段的模型,即。场 1、场 2、场 3

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

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

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

var isValid = model.isValid('field1');
于 2014-10-16T09:47:43.097 回答
0

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

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

于 2014-01-21T11:50:56.330 回答