Wykonując podstawowe badania nad zwyczaj walidacji po stronie klienta w angularjs czytałem dokumentację ngModel.NgModelController i znalazł następujące tajemniczy wiersz:
$ setValidity (validationErrorKey, isValid); Zmień stan ważności i powiadomi formularz.
Ta metoda może zostać wywołana w $ parsers/$ formatters. Jednak, jeśli to możliwe, użyj potwora walidatora ngModel. $, Który jest przeznaczony do automatycznego wywoływania tej metody.
Kilka godzin i wielu Google (i StackOverflow!) Przeszukuje później, ja nic o tym ngModel.$validators
rurociągu nigdzie znaleźć. Wszystkie przykłady niestandardowych walidacji użyć konfiguracji jak poniżej $parsers/$formatters
:
link: function (scope, elem, attr, ctrl) {
// Other necessary logic...
ctrl.$parsers.push(function() {
// Validation logic
ctrl.$setValidity('validation-type', true);
});
ctrl.$formatters.push(function() {
// Validation logic
ctrl.$setValidity('validation-type', true);
});
},
Pytanie: kątowej dokumentacja wskazuje, że powyższy kod jest nie najlepsza praktyka, oraz że ten mityczny ngModel.$validators
PipLine jest właściwa droga . Nie udało mi się znaleźć żadnych informacji na temat tej lepszej praktyki. W jaki sposób można użyć ngModel.$validators
do prawidłowego wdrożenia tej procedury sprawdzania poprawności klienta?
Na tej samej stronie link, nieco niżej, znajdziesz odpowiedź ... –