![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 176 Pomógł: 0 Dołączył: 8.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam. Mam problem dotyczący sfValidatorPropelUnique. Wszystko działa jak należy przy rejestracji tylko chcę go wykorzystać do zmiany danych użytkownika. Problem pojawia w momencie próby zmiany powiedzmy loginu który jest unikalny.
Jak zrobić żeby ten walidator szukał unikalności tylko i wyłącznie dla wszystkich loginów różnych od loginu który jest aktualnie używany przez tego użytkownika. Powiedzmy że login jest Jasiu i użytkownik pozostawia przy zmianie login taki sam, to postwalidator poinformuje ze taki w bazie istnieje, a nie powinien. Natomiast jak użytkownik zmieni login z Jasiu na Janek, a taki login bedzie już przydzielony do innego id to ma poinformowac o zajętości. Wiem że można to zrobić poprzez bezpośrednie zapytania sqlowe i redukcją danego loginu ale chciałbym to zrobić za pomocą sfValidatorPropelUnique. CZy jest taka możliwość? A jeżeli nie ma to proszę o jak najlepsze rozwiązanie. |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 879 Pomógł: 189 Dołączył: 14.06.2006 Skąd: Bytom Ostrzeżenie: (0%) ![]() ![]() |
Bez Twojego formularza zbyt wiele napisać nie mogę. Jedno jest pewne, jeśli w formularzu wyślesz wszystkie klucze główne (zazwyczaj będzie to tylko id) to walidator rozpozna, że obiekt znaleziony w bazie to jest ten sam który został wysłany formularzem. Czyli w Twoim przypadku, jeśli wyślesz formularzem id użytkownika, a on nie zmieni swojej nazwy, to nie wyrzuci błędu, bo będą te same id.
Ten post edytował destroyerr 19.09.2009, 22:19:59 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 22.06.2025 - 18:59 |