2015-08-26 119 views
1

我有4個字段,每個字段都有自己的自定義驗證,但不是必需的。我將如何進行驗證,以便至少填寫一個字段。如何驗證淘汰賽js中至少有一個字段必須填寫

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}); 

我知道,有onlyIfrequired擴展,但即時通訊不知道這是處理這種類型的驗證的正確方法。

回答

2

在這種情況下,我只是做了一個單獨的計算器,做了特殊的驗證。這個計算可以用來啓用/禁用提交表單的能力,或者你有什麼。

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(); 

});