Hirdetés
- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- gban: Ingyen kellene, de tegnapra
- Gurulunk, WAZE?!
- Magga: PLEX: multimédia az egész lakásban
- eBay-es kütyük kis pénzért
- GoodSpeed: Én és a Battlefield 6
- Brogyi: CTEK akkumulátor töltő és másolatai
Ú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
- Pécs és környéke adok-veszek-beszélgetek
- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
- Milyen routert?
- Luck Dragon: Asszociációs játék. :)
- Veszprém és környéke adok-veszek-beszélgetek
- WOT - Roham
- Android alkalmazások - szoftver kibeszélő topik
- Szeged és környéke adok-veszek-beszélgetek
- Borderlands 4
- További aktív témák...
- 10.gen PC // i5 10400F / RTX 2060 6GB / 16GB RAM / SSD+HDD //
- Ryezn PC // Ryzen 5 4500 / RTX 2060 6GB / 32GB DDR4 / 256GB SSD + 1TB HDD //
- MSI PRO X870-P WIFI
- 2014 Opel Adam 1.4Benzin GLAM White 87Le 175.000km Megkímélt Eladó-Cserélhető
- 2008 Fiat 500 1.2 8V 69Le Sport 139.000Km Hibakódmentes Eladó-Cserélhető
- Xiaomi Redmi Note 13 Pro 5G 256GB, Kártyafüggetlen, 1 Év Garanciával
- Bomba ár! Dell Latitude 5500 - i5-8GEN I 16GB I 256SSD I HDMI I 15,6" FHD I Cam I W11 I Garancia!
- Samsung Galaxy S22 Ultra / 12/256GB / Kártyafüggetlen / 12Hó Garancia
- ÚJ HP ProBook 445 G11 - 14" WUXGA - Ryzen 5 7535U - 16GB - 256GB - MAGYAR - 2+ év garancia
- ÁRGARANCIA!Épített KomPhone i7 14700KF 32/64GB RAM RTX 5090 32GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: NetGo.hu Kft.
Város: Gödöllő
Cég: Promenade Publishing House Kft.
Város: Budapest



