W czasie tworzenia stron internetowych czy różnorodnych aplikacji desktopowych, niejednokrotnie stajemy przed problemem: Jak poprawnie zwalidować przychodzące dane?. W przypadku stron www, można to zrobić właściwie na dwa sposoby:
walidując dane po stronie klienta
walidując dane po stronie serwera
I tak naprawdę, zawsze powinniśmy korzystać z obu sposobów. Zatem jak walidować dane? Można to robić na wiele sposobów, np. sprawdzać rodzaj przychodzących danych, sprawdzać długość danych, rozbijać łańcuchy według określonych separatorów itp. Jednak są to rozwiązania niezwykle czasochłonne i często nieskuteczne. Ale jest nadzieja. Większość języków pozwala na korzystanie z wyrażeń regularnych. O tym czym one są i jak się je stosuje napiszę w dzisiejszym artykule
Jak już pokazałem w poprzednim artykule, DOM jest niezwykle użyteczną technologią, pozwala dobrać się do praktycznie dowolnego elementu strony. Dzięki temu w szybki sposób możemy odczytać określone właściwości. Jednak i to nie ogranicza naszego pola manewru. Bo jest coś jeszcze, odnajdując określony element, możemy zrobić z nim właściwie wszystko. Możemy pobrać jego atrybuty, zmienić je, usunąć, możemy również tworzyć nowe elementy potomne itd. I tym właśnie różnym operacjom będzie poświęcony dzisiejszy artykuł.
W ostatnim czasie olbrzymią popularność święcą strony oparte na Ajaxie. Dynamiczne przetwarzanie, treść witryny dostępna bez przeładowywania i inne czynniki wynikające ze stosowania tych niezwykle udanych technologii przyczyniły się na wzrost popularność stron, w których użyto tych właśnie rozwiązań. Warto wiedzieć, że Ajax nie jest właściwie niczym nowym. Jest to połączenie kilku istniejących na rynku technologii. Jedną z nich i najważniejszą zarazem jest JavaScript, który udostępnia nam obiektowy model dokumentów (DOM).
Kiedy na początku lat 90siątych w Internecie zaczęły pojawiać się pierwsze strony WWW wykonane w technologii HTML nikt, nawet w najśmielszych oczekiwaniach, nie mógł przypuszczać, że rozwój Internetu będzie taki szybki i dynamiczny. Początkowo statyczne strony wzbudzały podziw. Każdy mógł mieć swoją wizytówkę w sieci. Dla firm był to oczywiście pewien sposób marketingu, reklamy, dla użytkowników prywatnych było to możliwość zaprezentowania siebie, swoich zainteresowań, upodobań itp. Wraz z rozwojem sieci, rola Internetu zaczęła się zmieniać. Szybko dostrzeżono błędy statycznego interfejsu strony WWW. Zaczęły powstawać technologie pozwalające na tworzenie dynamicznie generowanych stron Internetowych (zachęcam do przeczytania artykułu przegląd technologii Internetowych, znajdującego się na tej stronie), nastąpił szybki rozwój baz danych i ich optymalizacja pod kątem Internetu. Rozrósł się również tradycyjny HTML. Rozwój wszystkich powyższych technologii (oraz konieczność umieszczenia ich w jednym miejscu) spowodował chaos w dotychczasowym kodzie witryny. Dlatego też programiści musieli znaleźć jakąś receptę jak nad tym wszystkim zapanować. W jaki sposób oddzielić logikę biznesową od warstwy prezentacji. I to im się udało. Powstały standardy tworzenia aplikacji nazywane wzorcami projektowymi, a jednym z ciekawszych z nich jest Architektura MVC, której poświęcimy dzisiejszy artykuł.
Kiedy na początku lat 90siątych powstały strony WWW wielu ludzi było pod olbrzymim wrażeniem tej nowej, znakomitej technologii, choć początkowo były to tylko proste strony opierające się na kilku podstawowych znacznikach oraz blokach tekstu. Nie było możliwości wstawienia multimediów, języków skryptowych itp. Nikt nie miał wątpliwości że Internet i HTML (szczegóły poniżej) stanowią przyszłość informatycznego świata. Technologia szybko zaczęła się rozrastać. Zaczęto dodawać kolejne znaczniki umożliwiające załączanie multimediów, dodawania nowych elementów na stronie itd. Z biegiem czasu zaczęto zdawać sobie sprawę, że nie da się wszystkiego zrobić za pomocą statycznych elementów. Szczególnie problemowe okazały się kwestie dotyczące designu i dynamiki witryny. Dlatego do stron napisanych w HTML zaczęto dołączać inne technologie, technologie, które zmieniły oblicze Internetu.