Web Forme? Kako ih vi stvarate?

Često moram, kao i pretpostavljam velik broj drugih developera, stvarati hrpu raznolikih web formova. E sad, meni je to nekako najgori dio posla pa me zanima, kako vi to rješavate?

HTML polje po polje? Ili imate nekakvu skriptu?

Ja sam nešto razmišljao o objektu koji bi služio kao web forma, ali mi je uvijek bed što ne znam gdje će mi ta ista forma trebati - HTML stranici, Flash-u ili nećem trećem.

Diskutirajte.

Zend ima dobro rješen sustav formi.
Mislim da se dijelovi Zenda pa čak i forme mogu koristiti van frameworka ali to nisam iskušavao.
No uglavnom funkcionira na sljedeći naćin.
Na serveru extendaš formu, ili kreiraš svoju instancu.
Znaći sama forma je objekt.
Zatim toj formi dodaješ elemente. Koji su isto objekti.
Oni imaju 100 načina kako kreirati formu jer php je dosta fleksibilan po tom pitanju.
No uglavnom to je to.
Ništa komplicirano, dok se primjenjuje a sad izgradnja to je druga priča.
E sad koja bi bila prednost toga.
Svaki objekt može koristiti validaciju i filtere.
Također ako okolnosti dopuštaju može se koristiti i za update i insert jedan te isti objekt.

Postupak primjene je sljedeći.
Kreiranu formu napuni se podacima iz baze i isporuči se klijentu.
Forma sama kreira zadani HTML.
Na povratku podatka kreira se nova instancu forme i u nju se “prilijepe” podaci pristigli iz HTML (Request).
I onda se u formi obave filtri i validacija i ako je ok sljedi spremanje na bazu.

Mislim da forma u zendu (Zend_Form) ne ovisi o drugim djelovima frameworka pa bi se dalo “počupati” te filelove iz frameworka.

Nakon što sam otvorio ovu temu, počeo sam raditi na skoro identičnoj soluciji (minus baza, ali i to bi mogao dodati).

Ono što me iritira su greške pri validaciji - jer, umjesto da samo napravim filter, moram napraviti i poruke o greški (vaša lozinka nije dovoljno duga) i najgori dio - način da računalo pozove pravu grešku.

Dakle, umjesto jednostavnog bool odgovora, imam zajebanciju…

Mislim da se zend forma može koristiti ali trebaju dva foldera uz to Validate i Filter.

No u svakom slučaju da ne moraš raditi svoje filtere i validaciju downloadiraj si zend i pokupi njihove klase. U folderu Validate i Filter.

U zendu error funkcionira, prvo kreiraš instancu elementu, zatim mu dodaš validaciju.
Kad mu dodaješ validaciju ona mora imati isto ime kao i klasa za validaciju. To se dodaje u array.
Kad ubaciš neki podatak u formu zend kreira novu instancu od klase za validaciju iz arraya i poziva neku defaultu funkciju za validaciju koja mora postojati u svakoj klasi za validaciju.
I ako vrati false, vraća error koji je definiran, e sad nisam siguran ali mislim da je unutar same klase za validaciju.
Bio sam mjenjao error poruke pa sam to bio malo proučavao.