volby-zo-zahranicia
volby-zo-zahranicia copied to clipboard
chybaju required fieldy
pri vyplneni ziadosti, nemusim zadat vobec nic..
pridal by som validáciu alebo disable tlačidiel, pokiaľ required fieldy nie sú vyplnené.
test 0. nutnosť otvoriť browser session
- pripraviť žiadosť
- registrovaný na Slovensku
- chcem voliť poštou 3.1. Nevyplniť mesto/obec v adrese trvalého pobytu*
- Vytvoriť nadhľad žiadosti Error: Cannot read property 'toUpperCase' of undefined
root cause premenná cityName je definovaná globálne a očakávame ju pri vytváraní dokumentu. Jej hodnota sa vyplní iba pri výbere mesta adresy trvalého pobytu. V tomto prípade sa dokument na webe nezobrazí a užívateľ nemá žiadnu varovnú hlášku prečo.
riešenie
- zviditeľniť required fieldy
- validácia fieldov pri stlačení tlačidiel - momentálne musí užívateľ spraviť focus na field a pri blur evente sa zobrazí varovná hláška. Dosť nepraktické, keďže užívateľ môže niektoré povinné fieldy náhodou-omylom preskočiť.
- disable tlačidieľ pokiaľ required fieldy nie sú vyplnené (v prípade, že sú required fieldy dostatočne zvýraznené)
Toto uz asi bude neaktualne nie? Nepodarilo sa mi zreprodukovat chybu. Aj ked pustilo ma to s totalne nevyplnenymi udajmi, co by mozno nemuselo :) Ale kedze neviem co je povinne, tak s tymto najskvor potrebujem trocha nasepkat...
Na PC mi to zahlasi cervenym "Pre vytvorenie žiadosti je potrebné zadať Vaše krstné meno.", ale az ked odidem z policka. A mozem odoslat dalej. Robi to minimalne v bode 3/7 s trvalym pobytom v SR.
Jop. Toto je sposobene tym, ze sa tam pouzili validatory z Yii frameworku, ktore funguju az ked input strati focus. IMHO to netreba riesit, skor by som len oznacil, ktore su required. Pripadne sa tam moze pouzit aspon nativna validacia browsera.
Alebo tie prvky pri nacitani formulara prejst cez JS :D Ale vazne, kto tam neklikne, tak sa dostane dalej a moze byt frustrovany, ze mu to nezbehne dobre, vytlaci a posle blbost, alebo ak aj dalej bude upozornenie hrozi, ze sa na to vykasle a uz newer more.... treba to osetrit uz na tejto stranke podla mna.
No tak v tom pripade by som vecer spravil vlastnu implementaciu required fieldov ak ma niekto nechce predbehnut :) Predpokladam, ze vsetko je required. Jedine co je skoda, ze to je viac formularov, takze to nemozem spravit ako ze kazda hodnota vo formulary musi byt vyplnena (t.z. JS mapa fieldov, ktore teraz vidim na obrazovke) a pri zmene komponent bude treba tuto mapu upravit. Robit test na vsetky formulare a filtrovat na viditelnost mi pride trocha ako overkill a neviem co na to vykon pre mobilne device. Alebo ma niekto lepsi navrh?
No tak v tom pripade by som vecer spravil vlastnu implementaciu required fieldov ak ma niekto nechce predbehnut :)
@jmuransky nerob to "na kolene" od znova (toto su x-krat vyriesene veci). Podla mna len staci kuknut, ako su urobene tie Yiickovske a zavolat na "submit" formulara, nech zbehne ta "client validation". Az ked sa toto nepodari, siel by som cestou nativnych validatorov v browseri, pripadne nejakym jquery pluginom.
@jmuransky tym chcem povedat, ze ked to vie zvalidovat jeden prvok na "stratu focusu", musi to vediet zvalidovat aj vsetky. :wink:
A vie to aj validovat pri odoslati formulara a nastavit focus a aj odrolovat k danemu prvku.
Da sa aj tak. V sobotu ked som pozeral, tak problem bol v tom, ze je tam obicajny button ktory ma standardny onclick (este html-kovi) na ktory vola priamo tvorenie dokumentu bez checkovania akehokolvek validatora. Tak mozem skusit focus/blur vsetkych on-screen widgetov (mozno bude u YII stacit validate formularu a ten si zavola validaciu widgetov vnutry - co robi napriklad DOJO) a spytat sa na ich stav tesne pred tvorbou dokumentu. Tym padom vyuzijem existujuce validatory a nemusim len pozerat vyplnenost widgetov (t.z. slabsia kontrola)...