2013-03-08 13 views
7

Meteor nie ma jeszcze wbudowanego inteligentnego pakietu walidacyjnego. Jakie biblioteki walidacji należy wziąć pod uwagę? Czego używają inni ludzie?Form Walidacja wejścia z Meteorem

+0

Zdaję sobie sprawę, że już wiesz, ale wsparcie forma nadchodzi. Najnowsze informacje (z których nadal możesz skorzystać, nawet jeśli zdecydujesz się skorzystać z dobrej odpowiedzi Davida poniżej), można znaleźć pod adresem http://www.youtube.com/watch?feature=player_embedded&v=RSASfz_vU2k –

Odpowiedz

9

Postanowiliśmy użyć funkcji simpleSchema z Collection2 i autoform do sprawdzania poprawności. To bardzo wyrafinowane rozwiązanie. Oszczędzamy dużo czasu przy użyciu tego podejścia, zamiast próbować ręcznie rozrzucać każdy formularz.

prostu definiując system reguł walidacji (zasady walidacji są dostarczane automatycznie do typu danych i isrequired ustawienia), a następnie tworząc formę z AUTOFORM (pojedynczej linii kodu) i masz to wszystko za darmo

  • Autogenerowany formularz, który używa klas bootstrap3.
  • Odpowiednie pola HTML5 dla wszystkich kluczy w schemacie kolekcji.
  • Przycisk przesyłania, który zbiera wprowadzone wartości i wstawia je do kolekcji.
  • Zatwierdzanie formularzy na podstawie schematu dołączonego do kolekcji. Domyślnie formularz jest sprawdzany, gdy użytkownik przesyła. Jeśli cokolwiek jest nieważne, formularz jest ponownie sprawdzany na keyup (dławiony), gdy użytkownik naprawia problemy.
  • Domyślne komunikaty o błędach sprawdzania poprawności wyświetlane pod polami i można je dostosowywać i tłumaczyć.

meteor-simple-schema Prosty, reaktywny schemat sprawdzania poprawności schematu dla Meteor. https://github.com/aldeed/meteor-simple-schema

meteor-collection2 Inteligentny pakiet dla Meteor, który rozciąga Meteor.Collection w celu zapewnienia wsparcia dla określenia schematu, a następnie sprawdzanie przeciwko tym schemacie podczas wstawiania i aktualizacji. Dodaje także obsługę pól wirtualnych. https://github.com/aldeed/meteor-collection2

meteor-Autoformularz Inteligentny pakiet dla Meteor, który dodaje elementy UI i pomocników do łatwego tworzenia podstawowych form z automatycznego wstawiania i wydarzeń Update i automatycznej walidacji biernej. https://github.com/aldeed/meteor-autoform

+0

Dzięki takiemu podejściu, jeśli masz różne języki użytkownika, dużo pracy wymaga skonfigurowanie każdego komunikatu o błędzie –

+0

, dlaczego tak jest? Nasza aplikacja jest w pełni wielojęzyczna. Używamy pakietu messageFormat dla Meteor. Daj mi znać, gdzie musisz dużo pracować, a ja postaram się pomóc. https://github.com/gadicc/meteor-messageformat/ –

+0

jak wyświetlane są różne komunikaty o błędach w poprawnym języku? –

8

Jeśli chcesz użyć meteorite, możesz po prostu przeszukać atmosphere packages, aby zobaczyć, co jest popularne. Obecnie używam jqBootstrapValidation. W przeszłości używałem validate.js, ale teraz wolę mieć coś z integracją bootstrap. Słyszałem, że parsley.js jest popularny wśród fajnych dzieciaków, ale od tego momentu nie ma inteligentnego pakietu do tego - ale to dość łatwe do solve.

+0

, więc nie możesz zainstalować te pakiety z out-of-the-box Meteor? Ta sprawa z Meteorytem jest wymagana? Dlaczego? Ponieważ jest to niestandardowy format paczki lub coś takiego? Twoje zdrowie! –

+2

Meteor pochodzi tylko z garstką paczek. Potrzebujesz meteorytu, aby zainstalować pakiety stworzone przez społeczność. Jeśli widzisz ostatni link w mojej odpowiedzi, wystarczy tylko dołączyć do projektu proste biblioteki front-end. Więc nie musisz instalować meteorytu, ale wiele osób go uruchamia, ponieważ ułatwia instalowanie pakietów, ale to zależy od ciebie. –

+0

Dzięki temu było pomocne! –

5

Masz już Tracker jako część Meteor, więc zrób mały samouczek i JSfiddle razem o tym, jak wykorzystać go do realizacji typowy scenariusz walidacji formularza.

http://bit.ly/meteor-form-validation-video

http://bit.ly/meteor-form-validation-fiddle

+0

Cześć Dean, czy próbowałeś już używać simpleSchema? W przypadku prostej aplikacji z kilkoma formularzami może to być przesada, ale w przypadku dużej aplikacji o wielu formach okazało się, że jest ona o wiele bardziej wydajna niż podejście nakazowe, w którym sam musisz wprowadzić wszystkie szczegóły. Sprawdź to demo, aby zobaczyć, jak wiele masz funkcjonalności przy minimalnym wysiłku! https://github.com/aldeed/meteor-autoform#demo –

+2

Czasami formularz nie jest dla bazy danych, którą posiadasz (lub dla wywołania interfejsu API), więc chciałem pokazać, jak mogę wykonać własne. Dzięki za napiwek. –

+3

Właściwie to nie ma znaczenia, nadal można użyć schematu, aby zapewnić walidację niezależnie od tego, czy jest to baza danych, którą posiadasz, czy nie. W rzeczywistości nie zapisuje danych w mongo jak ORM ani nic. Masz nad tym kontrolę. Używamy simpleSchema i autoformularza, nawet podczas sprawdzania poprawności informacji o płatnościach dla Stripe API na przykład. –