Zaznacz pola niepoprawne jako czerwone z nokautem / durandalem

Uczę się nokautu, Durandala i Breeze i dziękiFilm JumpStart SPA od Johna Papa to jest przyjemność. Sprawdzam więc kod tego projektu i teraz próbuję zmienić mechanizm sprawdzania poprawności.

W tym momencie, podczas zapisywania zmian, jeśli zapis nie powiódł się, zbieramy błędy i wyświetlamy toast z CV błędów.

Chciałbym osiągnąć:

posiadanie zdolności zaznaczania pól niepoprawnych na czerwono (kolor tła) w widoku

kiedy wyświetla się toast z błędami sprawdzania poprawności, wznów (coś w stylu: „Zapisanie nie powiodło się: wymagany jest affairNr”) Chciałbym zastąpić nazwę właściwości bardziej przyjazną nazwą (coś w rodzaju „Zapisz się nie powiodło: wymagany jest numer sprawy”)

Oto kod części do sprawdzania poprawności w pliku 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';
}

Czy ktoś może wskazać mi właściwy kierunek?

Z góry dziękuję.

EDYTOWAĆ:

Aby odtworzyć problem: kliknij lewy pasek boczny na Transports + recherche avancee + dowolny element na liście + po prawej stronie: usuń niektóre dane wejściowe (jak Numero d'affaire jako zrzut ekranu poniżej), a następnie kliknij „Enregistrer”. Następnie wywoływany jest przycisk zapisywania. Tam muszę sprawdzić, czy istnieją nieprawidłowe dane wejściowe z ko.validation.group, ale nie działa.

questionAnswers(1)

yourAnswerToTheQuestion