Пометить поля, не действительные как красные, нокаутом / дюрандалом
Я учусь нокаутом, Durandal и Breeze и благодаряJumpStart SPA видео от Джона Папа это удовольствие Поэтому я изучаю код этого проекта и сейчас пытаюсь изменить механизм проверки.
В это время при сохранении изменений, если сохранение не удалось, мы собираем ошибки и показываем тост с резюме ошибок.
Чего я хотел бы достичь:
возможность помечать поля, не действительные красным цветом (цвет фона) в представлении
когда отображается тост с возобновлением ошибок проверки (что-то вроде: 'Сохранить не удалось: affairNr требуется ' ) Я хотел бы заменить имя свойства более понятным (что-то вроде 'Сохранить не удалось: требуется номер дела ')
Вот код части для проверки в datacontext.js:
var saveChanges = function () {
return manager.saveChanges()
.then(saveSucceeded)
.fail(saveFailed);
function saveSucceeded(saveResult) {
log('Saved data successfully', saveResult, true);
}
function saveFailed(error) {
var msg = 'Save failed: ' + getErrorMessages(error);
logError(msg, error);
error.message = msg;
throw error;
}
};
function getErrorMessages(error) {
var msg = error.message;
if (msg.match(/validation error/i)) {
return getValidationMessages(error);
}
return msg;
}
function getValidationMessages(error) {
try {
//foreach entity with a validation error
return error.entitiesWithErrors.map(function (entity) {
// get each validation error
return entity.entityAspect.getValidationErrors().map(function (valError) {
// return the error message from the validation
return valError.errorMessage;
}).join('; <br>');
}).join('; <br>');
}
catch (e) { }
return 'validation error';
}
Кто-то может указать мне в правильном направлении?
Заранее спасибо.
РЕДАКТИРОВАТЬ:
Чтобы воспроизвести проблему: нажмите на левой боковой панели Transports + recherche avancee + любой элемент в списке + справа: удалите некоторые входные данные (например, Numero d 'как показано на скриншоте ниже), затем нажмитеEnregistrer», Затем кнопка сохранения вызывается. Там мне нужно проверить, есть ли неправильные входные данные с ko.validation.group, но это нет работа.