Hogy kell form-ban feldobni egy figyelmeztető üzenetet? Ha egy feltétel nem teljeseül, pl hosszabbat írtam be mint a megengedett, illetve tiltott karakterek
Hogy kell form-ban feldobni egy figyelmeztető üzenetet ha egy feltétel nem teljeseül, pl hosszabbat írtam be mint a megengedett, illetve tiltott karakterek. ifset-be csinálom, azaz ha a beviteli mezők feltételei nem teljesülnek akkor azt írja ki hogy X mező hibás és ne ne küldje el a beirt adatokat.
azt se tudom hova kell feltételt írni ilyen esetben és hogy hogyan hivatkozok a beviteli mezők tartalmára még mielött feltölti az adatbázisba(xml-be)
Alapesetben a <form> tag action attribútumában megadott szerveroldali szkript fogadja, ellenőrzi, hiba esetén visszajelzi, sikeres kitöltés esetén pedig visszajelzi és menti az adatokat.
Hogy ne irányítódjon át az űrlapot tartalmazó oldal az ellenőrzést végző szerveroldali szkriptre a Javascript AJAX nevű technikájával érdemes elküldeni az adatokat, és letiltani az alapértelmezett műveletet.
A kivitelezés leegyszerűsítéséhez javaslom a JQuery függvénykönyvtárat - itt egy példakód:
Ilyesmihez kicsit túlzó dolog ajax-ot használni (ágyúval verébre). Az is bőven elég, ha a submit gombot javascript vezérli, és a valódi submit előtt lefut a javascript validálás, és ha minden rendben, a javascript adja ki a submit parancsot.
Ha hibát talál, akkor pedig feldob egy popup-ot (vannak szép javascriptes/jQuery-s popup kreálók pl noty), esetleg egy alarm doboz is működhet (bár az kicsit izléstelen).
Ha viszont a kedves kérdező nem ért ezekhez, akkor elég nehéz kivitelezni a dolgot. Javaslom egy hozzáértőt keress, ismerőst (free) vagy bízz meg valakit (pénzért). Ha viszont kitartó vagy, akkor megtanulhatod a dolgot, kis utánajárást és guglizást igényel.
"Ilyesmihez kicsit túlzó dolog ajax-ot használni (ágyúval verébre). "
De ha már szerveroldalon úgyis le kell ellenőrizni a bemenetet - biztonsági szempontból egyébként is kötelező - és figyelmeztető üzenetet akarunk megjeleníteni a felhasználó számára a böngésző újratöltése nélkül, akkor az Ajax alkalmazása kézenfekvő. JQuery használatával pedig egyszerűen kivitelezhető.
"Az is bőven elég, ha a submit gombot javascript vezérli, és a valódi submit előtt lefut a javascript validálás, és ha minden rendben, a javascript adja ki a submit parancsot."
Ha a szerveroldali szkriptben is megtörténik az ellenőrzés - biztonsági szempontból kötelező - akkor dupla munka ugyanezt megcsinálni Javascriptben is.
"Ha viszont a kedves kérdező nem ért ezekhez, akkor elég nehéz kivitelezni a dolgot."
A kérdező hozzászólásából ítélve nem abszolút kezdő, a JQuery-nek meg igen jó dokumentációja van.
#1/#3 ha már nekem címzel, válaszolok
"az Ajax alkalmazása kézenfekvő"
de nem ilyenkor, az ajax tech másra való. Persze ezt is meg lehet vele oldani, de elsősorban oldaltöltés nélküli új tartalmak kinyerésére használjuk. Mivel az ajax egy bonyolultabb technológia, itt teljesen felesleges az alkalmazása, amikor egyszerűbben is megoldható a dolog.
"akkor dupla munka ugyanezt megcsinálni Javascriptben is"
valóban, ugyanakkor ez akkor sem megkerülhető. a javascriptes validálást nem azért találták ki, hogy ne kelljen újra tölteni az oldalt, hanem, hogy elküldés előtt is legyen egy védelmi vonal. Ha lusta vagy programozni, akkor kár hozzákezdeni.
"A kérdező hozzászólásából ítélve nem abszolút kezdő"
"azt se tudom hova kell feltételt írni ilyen esetben és hogy hogyan hivatkozok a beviteli mezők tartalmára még mielött feltölti az adatbázisba(xml-be)"
aha... értem... szövegértés?
"de elsősorban oldaltöltés nélküli új tartalmak kinyerésére használjuk"
Új tartalom a szerveroldali szkript válasza is - ezt akarja a kérdező oldaltöltés nélkül figyelmeztető üzenetként megjeleníteni.
Ráadásul az Ajaxos megoldás diszkrét ( [link] ) lesz, ha csak a Javascriptet használunk validálásra, az nem.
"a javascriptes validálást nem azért találták ki, hogy ne kelljen újra tölteni az oldalt, hanem, hogy elküldés előtt is legyen egy védelmi vonal."
Meg akkoriban még nem volt lehetőség erre. Most meg van.
És hatékonyabb mint duplán ellenőrizgetni.
"Ha lusta vagy programozni, akkor kár hozzákezdeni. "
"Boredom and drudgery are evil."
Okés, nem szeretném a kérdező topicját szétoffolni, úgyhogy utolsó válaszként pár megjegyzés:
1. egyáltalán nem tudod mi az a javascript form validation
2. még az a hacker-howto sem arra gondolt, hogy fontos lépéseket hagyj ki a fejlesztés során
3. nálam nem sokáig lennél alkalmazásban
A kérdezőnek pedig utolsó tanácsként: a javascriptes validálást nem váltja ki a szerveroldali (sem vice-versa). Az űrlapkezelést és validálást el lehet sajátítani megfelelő weboldalakon, pl:
"1. egyáltalán nem tudod mi az a javascript form validation "
Tudom hogy mi az.
Jelen esetben viszont nem ad semmilyen plussz szolgáltatást a szerveroldali ellenőrzés+kliensoldali, oldalbetöltés nélküli visszajelzés kombinációval szemben.
"még az a hacker-howto sem arra gondolt, hogy fontos lépéseket hagyj ki a fejlesztés során "
Ha a szerveroldalon el lehet (sőt kell) végezni a felhasználótól érkező adatok ellenőrzését (kitöltött-e a mező; ha ki van töltve, megfelelően van kitöltve), akkor a kliensoldalon ugyanezt elvégezni robotolás.
"3. nálam nem sokáig lennél alkalmazásban "
LOL. Mondod ezt a gyakori kérdéseken. Komoly cégek szoktak itt lenni, presztízsnövelő hatással bír. ;)
"a javascriptes validálást nem váltja ki a szerveroldali"
Kiváltja, mára már maximum a felhasználói élmény fokozása szempontjából van jelentősége (reszponzívabb a kliensoldalon real-time ellenőrizni, mint szervernek elküldeni az adatokat).
"Szerintem is érdemes kliens- és szerveroladlon is leellenőrizni az adatokat
...
viszont sokkal biztonságosabb"
A kliensoldali ellenőrzés NEM AD pluszbiztonságot, csak a felhasználói élményt fokozza valós idejű ellenőrzés esetén. Ezt az előbb belinkelt szakcikk is szépen tárgyalja.
Felhívnám a figyelmedet, hogy az általad linkelt cikk 6 (HAT) éves! Méghogy szakcikk? a smashmagazinban... aha...
"A kliensoldali ellenőrzés NEM AD pluszbiztonságot, csak a felhasználói élményt fokozza valós idejű ellenőrzés esetén."
Ez 2009-ben talán igaz volt. Mára azonban kicsit fejlődtek a dolgok, elég csak a captcha technikákra gondolni.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!