我檢查我提交的驗證視圖模型as described here on SO, actually。敲除驗證 - 如何顯示單個錯誤消息
除了「提交」操作外,我的表單還有一個「保存進度」操作。它以幾乎相同的方式提交給服務器,但所需的字段較少。
我想保留四個絕對必需的字段,他們目前在視圖模型中...即保持它們在較大的驗證組中提交。
Knockout Validation有沒有一種方法可以像完全驗證組一樣以showAllMessages()
的方式顯示特定消息?我查看了源代碼,但找不到像showMessage()
附加到單個錯誤的任何內容。
或者是有沒有辦法挑選從我的視圖模型領域,並把它們在自己的驗證組(但讓他們大組中爲好)?
所以,作爲一個例子:
var ViewModel = ko.validatedObservable({
requiredForSave1: ko.observable().extend({ required: true }),
requiredForSave2: ko.observable().extend({ required: true }),
requiredForSubmit: ko.observable().extend({ required: true })
// ... and many more.
});
$('#sumbit').on('click', function(){
//check the entire validation group
if (ViewModel.errors().length === 0){
doSubmit();
}
else{
ViewModel.errors.showAllMessages();
}
});
$('#save').on('click', function(){
//check only part of the validation group
if (ViewModel.requiredForSave1.isValid() &&
ViewModel.requiredForSave2.isValid()){
doSubmit();
}
else{
//show only one or two specific validation messages.
//???
}
});
有沒有辦法來填補這最後else
塊,或者我應該採取一種不同的方法呢?
感謝
完美的驗證消息。謝謝@ rwisch45。也可以在此處找到:[官方文檔](https://github.com/Knockout-Contrib/Knockout-Validation/wiki/Validating-Only-Specific-Observables)。不知道爲什麼我發現該文檔網站很難瀏覽,但我確實如此。 – Brad
因此,顯示觀察值的單個錯誤消息的唯一方法是將其添加到組中? –