HTML form frontend, backend XML-ből (vagy másból)

Sziasztok!

Szeretnék készíteni egy egyszerű form gyártó alkalmazást php-ben.
Az elképzelés az, hogy lenne egy központi leíró fájl (XML, ini szerkezet, vagy bármi), ami segítségével a frontenden ki tudom egyértelműen tenni a form elemeket, a backend-en pedig le tudom validálni azt.
Valami olyasmire gondoltam a leíró fájlban, mintha HTML-t írnék, de plusz információkkal, hogy a backend is tudja, hogy mit kell csinálni.
Pl.:

< input type="text" name="inputmezo" id="inputmezo_id" class="red blue" required="true" constraint="[A-Z0-9]" / >
< select name="selectoption" id="chooseone" onchange="change_the_world()" elements_from="$select_elemts" / >

Jó-e az elgondolás, vagy rossz felé haladok?
Néztem pár eszközt, amivel XML fájlból tömböt lehet generálni, de nekem az verébre ágyú.
Nekem elég lenne a fentivől ennyi:

Array(
input => Array(
type => text
name => id
stb.
)
)

Ha ez meglenne, akkor innentől már a frontent és a backend is tudná végezni a dolgát.

Írjak saját parsert, vagy ismer valaki egy egyzserű megoldást a problémára?

Üdv: redman

Hozzászólások

arra gondolsz, hogy mondjuk JSON-ben ábrázolt olyan szerkezet amit irtal, s azt dolgozza fel pl jQuery kliensoldalon vagy pl PHP szerveroldalon?

Ilyennel mar en is probalkoztam sokszor, de mostanaban egyre jobban hatterbe szorul a dolog, nem csinalok annyi weboldalt. Mindenesetre nekem is kb. ez volt az elgondolasom. Viszont biztos van ra kesz megoldas.

Persze, egyszer én is csináltam majdnem egyet, belső használatra, de amikor kiderült, hogy nem ingyen dolgozom (lásd: költséghely), kvázi le lett fújva (lásd: "rendben, még beszélünk róla")...
Szabadidőmben meg nem fogok dolgozni.

De ha kijózanodom, talán összedobhatnánk valamit gépéelbe (majd letrehozunk ra bizottsagot) :-)

Szerintem ez egy elég komplex dolog, nem lehet ilyen xml-es hozzáállásal nekilátni. Értsd: nem az a kunszt, hogy felismered, hogy jo lenne valahol valamit definiálni, aztán máshol megjelníteni, hanem az, hogy fel tudod oldani az itt még nem v. csak érintőlegesen felmerült ellentmondásokat. pl. egy select form mező elemei gyakran egy adatbázis lekérdezésből jönnek on the fly, így itt a mező értékészletét nem tudod az leiró xml -ben rögzíteni. Mivel ez az értékkészlet kell h az alapja legyen a validálásnak így a validálást sem tudod itt definiálni. Ha már validálás, pl elég babrás meló olyat írni, ami legenerálja a mind a javascript ellenörző kódot, mind a PHP ellenörző kódot - figyelve olyan nyalánkságokra, hogy esetleg ajax -on keresztül is lehessen kitöltés közben ellenörizni az adatokat. Vagy egy-egy beviteli mező különböző formokban is felbunkanhat eltérő validálási szabályokkal, szűrőkkel. Ráadásul az is jó lenne, ha amolyan CRUD -os módiként adatbázis alapján is lehetne generálni a formot. Vagy az is jó lenne, ha különböző template megoldásokhoz könnyen illeszthető lenne, illetve nem csak html -t, de akár PDF -t (nyomtatott formát) vagy konzolos "ürlapot" is lehetne generálni.
Tehát az "egyszerű megoldás" -t felejtsd el! Ha három betű akkor szvsz nem XML, hanem OOP a jó irány! :-)

Nemtom az XML miota zarja ki az OOP-t, es mutattam mar be ilyet egy ora alatt nullarol implementalva, igaz, nem XML volt a leiro sose (nem is szeretek XML leirokkal dolgozni sajat, belso szoftvernel). Nyilvan az edge case-ek implementalasa tobb ido, de annyira ez nem veszes. Kezdje el, aztan majd inkrementalja, nagyon jol megirtak ezt mar masok is, majd lop.

De ugye érzed, h ez így gányolás? Hogyha xml -t akarsz, akkor használj xslt -t a megjelenítéshez és xsd-vel ellenőrizhetsz! Szerintem jobb az OOP! Probáld meg osztályokban, objektumokban elképzelni az ürlapot, annak elemeit és azoknak a [z együtt]működését! Így sokkal kevésbé leszel késöbb korlátozva. pl. csinálhatsz ajaxon keresztüli szerveroldali eseményvezérelt alkalmazást. Nekem volt ilyen melóm, ilyen biztosítós cucc, több száz formelemmel, amik megjelentek-eltüntek ill. egyéb tulajdonságaikat is változtatgatták /pl. kötelező-e kitölteni?/ annak függvényében, h egy másik form mezőben éppen mi történt.

Ez egy jo hozzaallas, igy mukodott a jo-hely rendszere is, ezt tudja a Symfony sfForms osztalya, ill. anno egy privat PHP frameworkunk is ezt tudta.

Az XML viszont bonyesz lesz neked, hasznalj yaml-t vagy json-t, alt. hozzatartozik ezekhez egy kapcsolodo widgetstruktura, nezd at a symfony 1.x-et minimum.

épp az jutott eszembe miközben olvastam, hogy már semmi pénzért nem állnék neki megírni ilyet. a symfony2 form-validator-doctrine trió olyan jó lett, hogy élmény vele dolgozni. (+form-admin-model generátor)

persze amikor fiatal és bohó voltam simán írtam néhányszor ilyet.