Mój scenariusz przewiduje tworzenie konta użytkownika. W bazie danych login jest polem unikalnym, co znaczy że nie może być dwóch użytkowników o takim samym loginie, czy też takim samym mailem. Standardowo walidacja przeprowadzana jest na serwerze, chciałem także, aby użytkownik został od razu poinformowany podczas wprowadzania loginu że jest on zajęty.
W MVC 3 jest to niezwykle proste.
Na początek w modelu, dodaję do właściwości UserName dodaję atrybut Remote:
Code:
Elementami składowymi są kolejno:
- IsUserExistInDatabase - nazwa metody (akcji) która zostanie wywołana podczas walidacji
- Account - nazwa kontrolera w którym akcja walidacji się znajduje
- HttpMethod - w jaki sposób ma zostać wysłane zapytanie do kontrolera
- ErrorMessage - komunikat błędu który ma zostać wyświetlony użytkownikowi w przypadku gdy walidacja nie przejdzie pomyślnie
Code:
Teraz pozostaje jeszcze ustalić w którym miejscu widoku ma zostać wyświetlony komunikat z błędem odnośnie loginu:
Code:
Ostatnia czynność to napisanie metody w wskazanym kontrolerze, która jako parametr przyjmuje wartość naszego pola, a jako rezultat zwraca Json:
Code:
Ot tyle, aby uzyskać walidację istnienia loginu.
Brak komentarzy:
Prześlij komentarz