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.