Mam obiekt, który ma 2 pola, a 1 powinien być mniejszy lub równy drugiemu.Walidacja formularza z polami zależnymi w AngularJS
Powiedz, że jest to limit dysku twardego i potrzebuję, aby threshold
był mniejszy lub równy size
dysku twardego.
Próbuję użyć wartości kątowej ui-utils#validate.
To jak mam do tej pory: http://embed.plnkr.co/EysaRdu2vuuyXAXJcJmE/preview (mam nadzieję, że link zadziała)
Problem, który mam jest to, że działa na jednym kierunku:
Setting size
a następnie gra z threshold
działa ok
Ale jeśli próbuję zmienić size
, po threshold
jest w nieprawidłowym stanie - nic się nie dzieje. Wynika to z faktu, że nieprawidłowy threshold
nie jest ustawiony na modelu, a identyfikator size
jest porównywany z null
lub undefined
(lub czymś podobnym).
Z jednej strony rozumiem logikę, że nie ustawiam nieprawidłowej wartości w modelu ... ale tutaj wchodzi mi to w drogę.
Każda pomoc w tej pracy zostanie doceniona.
Ten problem został omówiony jest tutaj: https://github.com/angular-ui/ui-utils/issues/25 – ProLoser
Lepiej późno niż wcale, musisz dodać ng-model-options = "{allowInvalid: true}" do elementów wejściowych formularza, aby to się stało - problem polega na tym, że gdy usługa $ q odrzuca odpowiedź, model domyślnie nie jest aktualizowany. Crazy huh! Kosztować mnie dzień, pracując nad tym. – danday74