- gban: Ingyen kellene, de tegnapra
- GoodSpeed: AMD Ryzen 9 9900X (100-100000662WOF)+ Samsung 990 PRO 2TB MZ-V9P2T0BW
- Geri Bátyó: Megint tahó voltam – SZEMÉLYISÉGFEJLŐDÉS
- eBay-es kütyük kis pénzért
- sziku69: Szólánc.
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- btz: Internet fejlesztés országosan!
- votlage71: Kábel menedzsment
- D1Rect: Nagy "hülyétkapokazapróktól" topik
Új hozzászólás Aktív témák
-
fordfairlane
veterán
válasz
ahetaton #13559 üzenetére
Ezt validálásnak hívják, és jobb szerveroldalon csinálni. Egyrészt a már említett heterogén böngészőtámogatás miatt, másrészt mert valaki szórakozásból is próbálkozhat fals adatokkal, saját kliensből.
A megoldás az, hogy formsubmit esetén, ha a validálás nem sikerül, akkor a validálást kezelő programrész képes legyen megjeleníteni a formot ismét, behelyettesíteni a bevitt értékeket, és a validálási hibaüzenetet. Meg lehet oldani oldalújratöltéssel, és anélkül is, AJAX-szal.
-
Sk8erPeter
nagyúr
válasz
ahetaton #13559 üzenetére
Egyelőre hagyd a francba JavaScriptes megoldásokat, első dolog, hogy legyen megoldva normálisan a szerveroldali validáció és feldolgozás, utána jöhet minden más kliensoldali szépítgetés. A required attribútum is csak HTML5-ös újítás, így olyan doctype-od is kell, hogy legyen, meg értelemszerűen a HTML5-öt nem támogató böngészőkben ez nem fog működni.
Azt kellene megoldanod, hogy amennyiben egy külön feldolgozó fájlban (lásd form elem action attribútumában lévő fájl) történik a form elküldött adatainak validálása, feldolgozása, akkor mondjuk ott átmenetileg egy session-változóba tedd a felhasználónak szóló figyelmeztetéseket, korábban kitöltött értékeket, majd az eredeti oldalra irányítsd vissza a felhasználót, ott írasd ki a figyelmeztetéseket, töltsd ki az űrlapot a korábban megadott adatokkal, majd töröld a session-változót. Tehát ennek az oldalnak a kiíratása ugyanaz, mint egyébként, csak pluszban ellenőrizned kell azt is, hogy adott session-változó az üzenetekkel, kitöltött adatokkal be van-e állítva, ha igen, kiíratsz mindent, kitöltesz mindent, ha nem, akkor pedig marad az üres form.
Ha azonos oldalon történik a validálás/feldolgozás, mint ahol a form is van (aminek mondjuk hátránya az F5 megnyomása során a böngésző figyelmeztetése, hogy biztosan el akarod-e küldeni újra az adatokat), akkor pedig értelemszerűen ugyanarra az oldalra rakod ki a figyelmeztetéseket, és újra kitöltöd a formot a kapott adatokkal (felhasználónak ne kelljen újra begépelnie). -
spammer
veterán
válasz
ahetaton #13559 üzenetére
Ha a feldolgozó oldalon van az ellenőrzés, akkor meg kell formáznod, hogy ne sima fehér kap legyen
Vagy használj jQuery/js-t, ami ellenőrzi a submit gomb megnyomásakor, hogy nem üresek-e a mezők és akkor elküldeni sem tudják a formot.
Modern böngészők már támogatják a html5 required attribútomot is:
<input type="text" name="username" id="username" required>
Új hozzászólás Aktív témák
Hirdetés
- Sony Xperia 1 VII - Látod-e, esteledik
- iPhone topik
- Hardcore pizza és kenyér topik
- Telekom mobilszolgáltatások
- Milyen billentyűzetet vegyek?
- Milyen monitort vegyek?
- A SAMA jóvoltából konkurenciája jött a Thermalright léghűtéseinek?
- Honor Magic V5 - méret a kamera mögött
- Okos Otthon / Smart Home
- OLED monitor topic
- További aktív témák...
- Lenovo T480 i7- 8650u / HU bill! / 8Gb DDR4 / 256Gb Nvme SSD / IPS full HD/ újszerű állapot / Win11
- Dell Latitude 5590 / i5 8350u / IPS FHD 15,6" / 8GB DDR4 / 256Gb SSD / Win11
- Micron 1100 256GB 2,5" SSD-k
- DJI Avata 2 Fly More Combo (szinte új, 3 év garival)
- Új,bontatlan,dobozos, számlás,garanciás 7800X3D CPu.
- AKCIÓ! Apple Macbook Pro 16" 2019 i9 9980HK 64GB DDR4 512GB SSD Radeon Pro 5500M garanciával
- GYÖNYÖRŰ iPhone 13 128GB Starlight -1 ÉV GARANCIA - Kártyafüggetlen, MS3058
- Tenda RX2 Pro Wifi6 Router
- Asus TUF Gaming A14 FA401WU - 14" 2.5K 165Hz - Ryzen AI 9 HX 370 - 16GB - 1TB - RTX 4050 - 3 év gari
- LG 83C3 - 83" OLED evo - 4K 120Hz 1ms - NVIDIA G-Sync - FreeSync Premium - HDMI 2.1 - PS5 és Xbox!
Állásajánlatok
Cég: FOTC
Város: Budapest