Muszę pozwolić użytkownikowi wpisać datę w tym formularzu: 15-03-2018 w pasku adresu. Więc naturalnie pomyślałem, że powinienem skorzystać z regexp, ponieważ przeczytałem w dokumentach React Router, że jest to obsługiwane. Próbowałem dodać wyrażenie regularne z długą datą i nie udało mi się to zrobić. Więc pomyślałem, że źle spróbuję z prostym wyrażeniem regularnym, takim jak (abc *), i to działa, ale to nie działa:

    <Route path="/(^([0-2][0-9]|(3)[0-1])(\-)(((0)[0-9])|((1)[0-2]))(\-)\d{4}$)" component={Dashboard} />

Próbowałem wykluczyć ^ i $ z wyrażenia regularnego, ponieważ jest to potrzebne tylko w przypadku wejścia wielowierszowego, którego w tej chwili nie potrzebuję. Nie udało mi się znaleźć żadnego źródła, aby rozwiązać ten problem. Będę wdzięczny, jeśli ktoś może mi w tym pomóc.

P.s. To jest moje pierwsze pytanie dotyczące przepełnienia stosu, więc jeśli popełniłem jakieś błędy formatowania, przepraszam.

0
MrTure96 19 listopad 2019, 21:23

1 odpowiedź

Wygląda na to, że parser React Routera działa w ten sposób: -Regex powinien być umieszczony w nawiasach klamrowych, takich jak ten (), ale każdy bardziej złożony regex, który zawiera więcej nawiasów w sobie, powinien być wpisany w osobnych nawiasach, jak poniżej: przykład: (abc *) (abc *), a nie w ten sposób ((abc *) (abc *))

Straciłem przez to nerwy, w końcu się udało, może to komuś pomoże.

0
MrTure96 20 listopad 2019, 20:24