- drupal
- forms api
Vigyázat, ez az aktuális világmegváltó agyszüleményem! A Drupal Forms API előtt használtam néhány másis űrlap generáló rendszert is, de volt egy funkció, amivel soha nem találkoztam, pedig szerintem sok különböző weboldal hasznát venné.
Miután egy felhasználó kitöltöti, és a szervernek visszaküldi az űrlapot, ne csak azt lehessen eldönteni, hogy a kitöltés helye-e vagy sem, hanem legyen egy figyelmezetető, megerősítő funkció is. Úgy tudom elképzelni ezt a legjobban, hogy ha hiba helyett csak figyelmeztetést adunk ki egy mezőre, akkor az űrlap ugyanúgy megjelenik mint hiba esetén, kiemelve a problémás elemeket, de alul a submit mellett, lenne egy Igen, biztos ezt akarom checkbox. Ezt bepipálva már lefutna az űrlap _submit függvénye.
Miért van erre szükség? Azért, mert a hibás- nem hibás eldöntése túl nagy felelősség. Néha vannak veszélyes (vagy szinte bíztosan rossz) űrlap kitöltések, amelyeket nem szabad rögtön feldolgozni, de teljesen elvenni sem lehet egy ilyen kitöltésnek a lehetőségét.
Tengernyi konkrét példát tudnék mondani amikor erre szükség van:
- Használtautó kereskedő oldal, az árat ezer forintban kell megadni. Erre a felhasználó beírja, hogy 150000. Persze lehet, hogy ez egy 150 milliót érő használt autó, de azért elég valószínűtlen. Jó lenne erre figyelmeztetni.
- Klasszikus példa, és drupal-ban is számtalan helyen van, a törlés megerősítés (delete_confirm fg.) Ha lenne form_set_warning(), nem kellene plussz egy űrlapot definiálni minden egyes törlés funkcióhoz.
- Linkeket akarunk tárolni. A http://www.example.com már bent van a rendszerben, mikor valaki hozzá akarja adni a http://example.com–ot, vagy a http://www.example.com/index.php-t.
Persze, most is el lehet érni ezt a funkcionalitást Drupal-ban (lásd delete_confirm), de csak hegesztéssel, egy form_set_warning-al sokkal elegánsabban meg lehetne oldani ezeket a helyzeteket. Ráadásul, amennyire ismerem a Forms API lelkivilágát, ezt nem is lenne túl nehéz beleimplementálni jól.
Kiváncsi vagyok a véleményetekre, nálatok is felmerültek már ilyen igények?
7 hozzászólás
Hmm. Mintha lenne rá mód,
Beküldte CSÉCSY László -
Hmm. Mintha lenne rá mód, hogy ha a _validate() elhasal, akkor bekapcsolja a rebuild jelzőt, s ilyenkor hozzá lehetne csapni az űrlaphoz a "duplakezesanalfisting^Wvalóban ezt akarom" jelölőnégyzetet - amit ha bekapcsolva lel az újra lefutó _validate(), nem hasal el.
Jól értem, hogy az általad vázolt megoldás ettől abban térne el, hogy már eleve a FAPI biztosítana lehetőséget arra, hogy mindezt automatikusan, egyetlen űrlap jelző bebillentésével el lehessen érni?
Igen, én arra gondoltam,
Beküldte EdgarPE -
Igen, én arra gondoltam, hogy a _validate() fg.-ben ne csak form_set_error()-t lehessen használni, hanem form_set_warning()-ot is.
form_set_warning()-ra mgjelenne ismét a form egy checkox-al, ezt bepipálva és ismét submit-olve a form-ot, már lefutna a _submit() fg.
Így nem lenne szükség sehol a core-ban a delete_confirm függvényekre, és a modul fejlesztők kapnának egy plussz eszközt a kezükbe.
Regisztrációnál van
Beküldte sajt -
Regisztrációnál van valami ilyen jQuery-s cucc a jelszavaknál, de most nem találom, hogy ez honnan jön.