如何在knockout js中验证至少有一个字段必须填写
How to validate in knockout js for at least one field must be filled
我有 4 个字段,每个字段都有自己的自定义验证,但不是必需的。我将如何进行验证以便至少必须填写一个字段。
self = this;
self.acc = ko.observable().extend({ acc: true });
self.Id = ko.observable().extend({ id: true });
self.Name= ko.observable().extend({ name: true });
self.Number = ko.observable().extend({ number: true});
我知道 required
扩展程序有 onlyIf
,但我不确定这是否是处理此类验证的正确方法。
在这种情况下,我只是做了一个单独的计算来做这样的特殊验证。此计算可用于 enable/disable 提交表单的能力,或者你有什么。
self.atLeastOneFilled = ko.computed(function(){
// note: number will need a different validation if zero is allowed (null check, for example)
return self.acc() || self.Id() || self.Name() || self.Number();
});
我有 4 个字段,每个字段都有自己的自定义验证,但不是必需的。我将如何进行验证以便至少必须填写一个字段。
self = this;
self.acc = ko.observable().extend({ acc: true });
self.Id = ko.observable().extend({ id: true });
self.Name= ko.observable().extend({ name: true });
self.Number = ko.observable().extend({ number: true});
我知道 required
扩展程序有 onlyIf
,但我不确定这是否是处理此类验证的正确方法。
在这种情况下,我只是做了一个单独的计算来做这样的特殊验证。此计算可用于 enable/disable 提交表单的能力,或者你有什么。
self.atLeastOneFilled = ko.computed(function(){
// note: number will need a different validation if zero is allowed (null check, for example)
return self.acc() || self.Id() || self.Name() || self.Number();
});