|
07. 06. 2005. | #1 |
Goran Pilipović
Sir Write-a-Lot
|
Formulari i validacija
Ovih dana ponovo radim jedan projekat sa milion formulara. Muka mi je.
Deseti put sam odlučio da napravim neku klasu koja će ne samo da generiše formulare već i da radi validaciju. Pri tom sam ja malo megalomanski krenuo da radim i client i server validaciju, znači da porek standardne provere posle submit, generiše automatski i javascript koji će da proverava određena polja i pre submit. Naravno, što više radiš vidiš da je sve komplikovanije jer nailaziš na određena polja i tipove podataka koji ne mogu tako lako da se automatizuju. Ideja je da inicijalizujem klasu i dodajem polja tima $FORM->AddField ($name, $values, $type = 'text', $requied = true, $maxlen = 255) itd... pa onda: $FORM->generate(); Da li je neko imao nekih iskustava sa ovim, da li ste radili nešto slično i da li možda imate neki drugi koncept ili nesto?
__________________
Goran Pilipović a.k.a. Ugly Fingers Bradley f.k.a. bluesman I don't always know what I'm talking about but I know I'm right! |
07. 06. 2005. | #2 |
Goran Radulović
Professional
|
Takodje cu da uradim isto sto i ti hoces, vec dugo se nagovaram da to uradim...
Ali da ovaj moj post ne bude besmislen, reci cu vam ko je to uradio i da to resenje fercera. Naime radi se o Iliji Studenu, koga cu uputiti na ovaj forum cim se bude pojavio u kancelariji. Poslednja izmena od godza : 07. 06. 2005. u 03:21. |
07. 06. 2005. | #3 |
Direktor Kombinata
Invented the damn thing
Datum učlanjenja: 07.06.2005
Poruke: 2.669
Hvala: 44
119 "Hvala" u 64 poruka
|
Napravio sam jedano prilično zgodno rešenje, ali daleko od toga da je jednostavno. U pitanju je sistem za generisanje i procesiranje formularan baziran na komponentama.
Komponente nasleđuju BaseComponent klasu i imaju ime, raspon vrednosti i niz apstraktnih metoda (checkRange, checkValue, getComponentCode...). Svaka prava komponenta implementira ove metode. Lepota ovog sistema je što je užasno fleksibilan i proširiv jer sve leži u nasleđivanju. Tako npr. imamo bazni tekst input. Ništa ne radi, samo vaća kod i vrednost kao string. Međutim, iz njega nasleđujemo Float input, Integer input, Text input i dodajemo kojekakve validacije. Pošto se sama komponenta brine za serverside validaciju onda se može sastojati i iz više kontrola. Npr. datum pomoću 3 select boxa, kompleksna WYSIWYG editor itd. Dalje, tu je Form klasa koja se brine o printanju formu, validaciji i skupljanju vrednosti. Doda joj se niz komponenti, a onda pozove renderForm funkcija. Kada je potrebno skupiti sve vrednosti samo se kaže collectValues koja vrati FALSE ukoliko postoji greška. Problem je u tome što sam i ja već ispustio sve detalje ovog sistemčića jer je ušniran u jedan od starijih projekata i nemam ga u "samostalnom" obliku. Par puta mi je zatrebao, ali nikako da sednem i "izvučem" ga. Inače, koncept je jako dobar, a forme se prave dok kažeš keks... |
07. 06. 2005. | #4 |
Super Moderator
Invented the damn thing
Datum učlanjenja: 06.06.2005
Poruke: 2.371
Hvala: 370
701 "Hvala" u 194 poruka
|
Pogledaj pear::HTML_QuickForm
http://pear.php.net/package/HTML_QuickForm A dokumentaciju imas ovde . Licno je nisam koristio preterano jer ja preferiram da radim kroz smarty, a takodje 2 godine sam na stalnom poslu koristio neki "rotella framework" koji je slicne stvari odradjivao sam. No video sam jako fine primere koriscenja HTML_QuickForm-a u knjizi Harry Fuecka pa svakako pogledaj da li bi ti ovo moglo odgovarati. |
07. 06. 2005. | #5 |
profesionalac
Professional
|
Evo, baš ovih dana sam krenuo i ja da radim na problemu generisanja formi...
Uzeo sam webform klasu (deo WebObjects klasa koje razvija vladeck), proširio je i može da radi ok posao, jedino što nema uradađenu validaciju... Ali ima vremena Ilija, jel ima šanse da podeliš kod te tvoje klase? . |
07. 06. 2005. | #6 |
Direktor Kombinata
Invented the damn thing
Datum učlanjenja: 07.06.2005
Poruke: 2.669
Hvala: 44
119 "Hvala" u 64 poruka
|
Drage volje, samo ne u neko skorije vreme pošto baš sad imam jedan prilično tesan rok (englezi imaju super reč za to - deadline, ali bukvalno ), a i jednu malo glomazniju aplikaciju privodim kraju. Možda krajem meseca, mada ništa ne obećavam... Ima tu dosta posla, posebno ako hoću da napravim smislen paket sa relativno dobrom dokumentacijom.
|
|
|
Slične teme | ||||
Tema | Početna poruka teme | Forum | Odgovori | Poslednja poruka |
Validacija podataka u SQL | markod | SQL baze podataka - Sponzor: Baze-Podataka.net | 3 | 15. 06. 2010. 08:57 |
Validacija XML-a uz custom DTD | Nemanja Avramović | (X)HTML, JavaScript, DHTML, XML, CSS | 4 | 01. 09. 2008. 23:07 |
Formulari | blogowski | Poslovne ponude i zapošljavanje | 1 | 27. 06. 2006. 17:20 |
Validacija Google Map ?? | blogowski | (X)HTML, JavaScript, DHTML, XML, CSS | 2 | 05. 06. 2006. 21:00 |
Validacija URLova | Ilija Studen | PHP | 0 | 06. 08. 2005. 19:16 |