Nie używałem sprawdzania poprawności Knockout i próbuję wyczuć, co można z tym zrobić.Problemy z szablonem niestandardowych wiadomości sprawdzania poprawności nokautów
Próbuję dowiedzieć się, czy możliwe jest wyświetlanie ikony zamiast komunikatu o błędzie po prawej stronie znacznika wejściowego, gdy wystąpi błąd. Jeśli użytkownik znajdzie się nad ikoną, wyświetli się komunikat o błędzie.
Czy ktoś to zrobił lub ma pomysł, jak to osiągnąć?
Dzięki.
EDIT: (bardziej szczegółowy przykład tego, co próbuję zrobić)
że mam następujących w moim modelu widoku:
var firstName = ko.observable().extend({required: true});
Moje HTML:
<input data-bind="value: firstName" />
Rozumiem, że jeśli pole tekstowe imienia pozostało puste, to (domyślnie) na prawo od pola tekstowego pojawi się tekst z informacją, że to pole jest wymagane.
Co Próbuję zrozumieć, jak zmienić domyślne zachowanie wyświetlając błąd tekst w sprawie prawa do wyświetlania ikonę po prawej stronie, który unosił się nad kiedy będzie popup komunikat o błędzie.
Więc początek byłoby coś jak:
<div data-bind="validationOptions: {messageTemplate: 'myCustomTemplate'}">
<input data-bind="value: firstName" />
<input data-bind="value: lastName" /> //also required
</div>
<div id='myCustomTemplate'>
//This icon should only display when there is an error
<span class="ui-icon ui-icon-alert" style="display: inline-block"/>
//css/javascript would display this when user hovers over the above icon
<span data-bind="validationMessage: field" />
</div>
nie mam pojęcia, czy jestem prawidłowo używając funkcji messageTemplate. Nie wiedziałbym również, do czego ma wiązać tekst w customTemplate, aby wyświetlać poprawny komunikat o błędzie dla każdego błędu. IOW, imię i nazwisko mogą mieć niestandardowe komunikaty o błędach. Jeśli oba używają tego samego szablonu, w jaki sposób szablon jest zgodny z niestandardowym komunikatem o błędzie?
Mam nadzieję, że ma to sens.
Niektóre kodu byłoby pomocne w celu dostosowania rozwiązania do swoich potrzeb, ale odpowiedź brzmi: tak. Knockout pozwala na ustawienie niestandardowego znacznika div lub span z atrybutem validationMessage, który może zastąpić domyślny tekst błędu (https://github.com/ericmbarnard/Knockout-Validation/wiki/Validation-Bindings).Oprócz tego można ustawić niestandardową funkcję sprawdzania poprawności dla obserwatorów, która może aktywować/dezaktywować etykietkę narzędzia, jeśli zostanie znaleziony błąd. Jeśli możesz pokazać nam przykładowy kod (najlepiej w skrzypcach), pomożemy Ci dokonać niezbędnych zmian, aby uruchomić go tak, jak chcesz. –
Dziękuję za odpowiedź i przepraszam za opóźnienie ... kilka dni urlopu. Dodałem edycję, aby dokładniej wyjaśnić, o co mi chodzi. – RHarris