如何使用ko.validation.group功能(How to use ko.validation

2019-07-02 10:21发布

我试图用knockout.validation插件。 我创建了一个exampleViewModel:

function exampleViewModel() {
   this.P1 = ko.observable().extend({ required : true });
   this.P2 = ko.observable().extend({ required : true });
   this.P3 = ko.observable().extend({ required : true });
   this.P4 = ko.observable().extend({ required : true });

   this.errors = ko.validation.group(this);
}    

另外,在上述视图模型我创建命名为当前对象误差的验证组。 现在,如果任何验证规则上的任何1个属性失败了的4比这个错误属性包含错误信息。

My question is ,如果我想创建只有3个属性的验证组(P1, P2, P3)开出4比我该怎么办呢?

Answer 1:

这个工作很适合我。 而不是分组this ,创建保存要验证性质的代理对象。

this.errors = ko.validation.group({
    P1: this.P1,
    P2: this.P2,
    P3: this.P3
});

如果你这样做,可以考虑使用validatedObservable代替group 。 你不仅得到了错误,但你可以集中检查所有的属性都有效使用isValid财产。

this.validationModel = ko.validatedObservable({
    P1: this.P1,
    P2: this.P2,
    P3: this.P3
});

// is the validationModel valid?
this.validationModel.isValid();
// what are the error messages?
this.validationModel.errors();


Answer 2:

正如所描述的文档 ,以验证只有特定的观测正确的方法是:

this.errors = ko.validation.group([this.P1, this.P2, this.P3]);


文章来源: How to use ko.validation.group function