sto cercando di convalidare un modulo con alcuni campi che devono essere unico - il nome utente e indirizzo email. Se invio il modulo ottengo un errore nel database. Voglio usare un validatore come ho fatto per tutto il resto - in questo momento sto cercando di usare getter personalizzati e funzioni isvalidUsername nell'oggetto e non sono sicuro se utilizzare l'entity manager nell'oggetto sia il modo migliore per farlo . Heres che cosa sto lavorando con finora ...Symfony 2 validatore unica
Frontend\UserBundle\Entity\User:
properties:
email:
- NotBlank: ~
- Email: ~
username:
- NotBlank: ~
getters:
validUsername:
- "True": { message: "Duplicate User detected. Please use a different username." }
validEmail:
- "True": { message: "Duplicate email detected. Please use a different email." }
Ci sono costruiti in validatori uniche nel fosuserbundle, ma non sono stati in grado di capire come usarli.
Questo ha funzionato per me. Forse è meglio usare FOSUserBundle in questo caso, ma volevo solo dare uno slap a un validatore di unicità su qualcosa senza aver fatto tutto questo adesso, e questo ha fatto il trucco. Grazie. –
Ho scoperto quello che sembra essere un problema con questa soluzione: se si tenta di aggiornare il record utente esistente, si ottiene un errore che dice che l'indirizzo e-mail è già in uso, il che ovviamente non dovrebbe accadere. –
Questa soluzione funziona per me, la modifica e tutto, quindi non sono sicuro di cosa sta succedendo. Non posso controllare il mio codice fino a martedì ma vedrò se riesco a vedere qualcosa – OrganicPanda