我使用Knockout Validation在Durandal/KnockoutJS應用程序中驗證我的模型。它工作正常,但我碰到了一個我不確定如何處理的情況。用戶輸入的內容之一是「指導員」列表,他們可以輸入任意數量的指導員。每位教練都有一個「教學百分比」值。所有教學百分比的總和必須加起來爲100%。如何驗證多個模型對象中的一組數字是否合計爲指定值?
我不知道如何設置驗證了這一點,因爲當我定義「教官」我的模型對象,我不能引用其他導師的對象任意數量。
我已經能夠拿出最好的辦法是將計算觀察到一個視圖模型是所有教師的教學百分比之和,並驗證價值爲100
我缺少的東西?這是一個明智的方式去處理這種情況?一般來說,這個問題適用於任何你有多個模型對象的情況,並且它們的一個屬性的有效性相互依賴於其他對象的屬性。例如:
例如,ObjA.Heading是有效的,如果它是正數,和 ObjB.Heading也是正數;反之亦然(ObjB.Heading如果是正數,則爲有效,和 ObjA.Heading也爲正數)。
感謝如何處理這種情況的任何輸入。
謝謝!
這就是我在第一次運行時的處理方式。如果你考慮顯示器,你可能會有一個「總計」行,這增加了一切。您將驗證計算的「總計」視圖模型,而不是其他視圖模型的集合。聽起來像是對我有效的方法! –