Formularz, sprawdzanie adresu

0

Mam taki kod da się jakoś w html napisać ze muszą być zarówno liczby jak i text, chodzi o sprawdzenie poprawności adresu tzn. żeby nie przepusciło zamówienia typu ul.Okrzei tzn. bez numeru domu.

<input id="delivery_address1" name="delivery_address1" class="delivery required form-control input-sm not_unifrom not_uniform valid" data-field-name="address1" data-validation="isAddress,length " data-default-value="/" data-required="1" data-validation-length="max128" maxlength="128" style="" required="" type="text">
0

Teoretycznie można to zrobić rozdzielając każdy segment adresu na kilka pól, np.: ulica, numer domu, numer lokalu.
Wtedy na numer domu czy lokalu można ustawić walidację numeru poprzez pole <input id="number" type="number"> - przeglądarka nie przepuści wtedy innej wartości niż numer.

Problem w tym, że walidacja adresu to chyba rzecz niemożliwa w 100% sprawdzenia. Adres to bardzo złożona informacja. Nie zawsze jest np. ul. Warszawska. Czasami jest os. (osiedle), al. (aleja) albo jeszcze coś innego. Do tego dochodzą numery domów/lokali np. może być 20/34 jako numer domu (a nie domu i lokalu), albo 20-34, albo 20a,b,c lub numer 20 - I piętro, przy adresach np. dla firm. Bardzo ciężko jest określić czy akurat ten adres co ktoś wpisał jest prawdziwy. Dlatego zazwyczaj w sklepach internetowych takie pola dla adresów mają pewną dowolność.

Spotkałem się kiedyś z pewną formą walidacji ale dość skomplikowaną (np. w formularzach od ubezpieczeń). Wpisuje się tam kod pocztowy miasta i potem można już tylko z listy wybrać ulicę. Jakieś pola w stylu województwo, gmina itd. uzupełniają się same. Ale zawsze potem numer domu/lokalu pozostaje bez walidacji. Jednakże to są już bardziej złożone systemy oparte prawdopodobnie na pewnych zewnętrznych usługach wyciągania informacji na podstawie zadanych parametrów.

Zazwyczaj założenie jest takie w sklepach, że jak ktoś chce otrzymać towar, to adres wpisze poprawny :)

0

Dzięki za info, chodziło mi o to, żeby był wpisany na pewno numer domu.

0

Może regex ??

1 użytkowników online, w tym zalogowanych: 0, gości: 1