我對knockoutjs相當新,所以這是存在的很好的可能性,我只是沒有尋找正確的事情。如何使一個多選擇需要但不是空
我有一個<select>
元素可以有多個選擇。在加載時,我不想選擇任何東西,但我不想在用戶執行任何操作之前觸發驗證。如果選擇了某些東西並取消選中,或者有一個「無」按鈕清空所選數組,則可以啓動驗證。這可以。我<select>
看起來是這樣的:
<select multiple data-bind="options: PossibleValues,
selectedOptions: SelectedValues,
validationCore: SelectedValues">
</select>
就像我說的,如果我明確地清空SelectedValues
,然後我讓我的客戶端驗證消息。如果我沒有,那麼isValid()
返回true,我沒有看到任何消息。
那麼,如何提交多選需要和失敗驗證,如果它是空的,但沒有突出顯示它是一個負載問題?
編輯
我試圖簡化我的問題我的例子,但基本上我有一個視圖模型,其中有一個孩子視圖模型,並發現孩子有一個對象,它是一個ko.observable()
,也是一個視圖模型。然後,得到它,這是一個子視圖,它是ViewModels的ko.observableArray()
。這個最低級別是我試圖看到驗證錯誤的地方(添加{ deep: true }
只會喊太深)。問題在於最低級別 - 我們稱之爲greatgrandchildVM
- 在我呼叫isValid()
時返回true,儘管顯然無效。通過greatgrandchildVM
的陣列循環,我可以看到errors()
中有值。
爲什麼這些不會冒泡並把isValid()
假冒?顯然,我可以在一起循環迭代我的greatgrandchildVM
數組,並自己做,但我猜測有一個淘汰賽的方式來做到這一點,我只是太新,不知道它。
你能不能把小提琴在一起呢? – Luis