ugrás a tartalomhoz

Symfony 1.4 validáció Ajax-al

toshy · 2010. Okt. 13. (Sze), 15.37
Tisztelt forum-ozók

Symfony 1.4 ben adott egy felhasználó regisztrációs űrlap.
Szeretném ha a "felhasználói név" mezőt elhagyva lefutna egy ajax kérés,
miszerint is ellenőrizné, hogy a megadott felhasználói név szabad, vagy sem.

Ilyet gondolom már mindenki látott.
Na most ezt meg tudnám írni, ha simán Php + Ajax lenne, de a cél az lenne, hogy
ha egy mód van rá a symfony adottságait kihasználva tegyem ezt meg.
Vagyis validálna a YML file-ból, onnan venné esetleg a hiba üzit is, és megjelenítené.
Igen régen symfony-ztam, és nem vagyok valami nagy WEB coder-sem.
Sajnos már a validációs helper-t sem engedi bekapcsolni valamiért, de gondolom azóta talán nem is kell.
Szóval ha megoldható , úgy hogy nem kell osztályt módosítani, vagy újat létrehozni
nagyon megköszönném a segítségeteket.
Nem tudom , hogy értékes infó-e de még megjegyezném, hogy doctrine + mysql-t használok.
 
1

:(

toshy · 2010. Okt. 14. (Cs), 13.48
Már látom, hogy rosszul fogtam hozzá.
Az 1.4-ben teljesen másképp megy a validáció mint régen.
Ennek fényében több lépésre kell bontanom a problémát
1. Sima validáció. Ahogy látom a dokumentációból, ez nem kivitelezhetetlen.
2. Márpedig nekem ez Javascript/Ajaxból kellene mielőtt még elküldik a form-ot,
és amennyire meg tudtam ítélni az Ajax Helper is hiányzik.


Szóval segítséget továbbra is várok, hátha találkozott már valaki ezzel a problémával.
Egy ilyen példa kód is jól jönne.
2

ajax:

Kubi · 2010. Okt. 15. (P), 11.10
ajax: http://www.symfony-project.org/jobeet/1_4/Doctrine/en/18

a helyedben, jquery-t használnám, change event hozzárendelném a név mezőhöz, és
egy ajax lekérést intéznék a szerver felé a mező értékét paraméterül adva és a válasz szerint cselekszel.

Igy a formba nem kell belenyulni, csak az id-t kell használnod hozzá ( $id = $form->getWidget('xxx')->generateId() vagy valami hasonló azthiszem ). Javascriptben még a form elküldését is megtudod akadályozni.

Amúgy ha felhasználó kezelésről van szó, ne dolgoz feleslegesen, nézd meg ezt a plugint: http://www.symfony-project.org/plugins/sfDoctrineGuardPlugin