Я проверяю свою модель представления при отправке на проверку , как описано здесь, на SO, на самом деле а>.
В моей форме есть действие «Сохранить прогресс» в дополнение к действию «Отправить». Он отправляется на сервер почти так же, но имеет меньше обязательных полей.
Я хотел бы оставить четыре абсолютно обязательных поля там, где они сейчас находятся в модели представления... т. е. сохранить их в большей группе проверки для отправки.
Есть ли способ в 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
, или я должен использовать другой подход к этому?
Спасибо