问题描述
我正在尝试使用knockout.validation 插件.我创建了一个 exampleViewModel :
I am trying to use knockout.validation plugin. I created an 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);
}
在上面的视图模型中,我为当前对象创建了一个名为 errors 的验证组.现在,如果任何验证规则在 4 个属性中的任何 1 个属性上失败,则此错误属性包含一条错误消息.
In the above view model i created a validation group named errors for the current object. Now if any validation rule fails on any 1 property out of 4 than this errors property contains an error message.
我的问题是
,如果我想创建一个只有 3 个属性 (P1, P2, P3)
的验证组,我该怎么做?
My question is
, if i want to create a validation group of only 3 properties (P1, P2, P3)
out of 4 than how can i do this ?
推荐答案
这对我来说效果很好.与其在 this
上分组,不如创建一个代理对象来保存您要验证的属性.
This worked well for me. Rather than grouping on this
, create a proxy object that holds the properties you want validated.
this.errors = ko.validation.group({
P1: this.P1,
P2: this.P2,
P3: this.P3
});
如果您这样做,请考虑使用 validatedObservable
而不是 group
.您不仅会收到错误信息,还可以使用 isValid
属性共同检查所有属性是否有效.
If you do this, consider using validatedObservable
instead of group
. Not only do you get the errors, but you can collectively check if all the properties are valid using the isValid
property.
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();
这篇关于如何使用 ko.validation.group 功能的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!