Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript][jQuery.validate] Własna metoda walidacji, Błednie wyświetla komunikat o znajdującym się już loginie
fenix.robi
post
Post #1





Grupa: Zarejestrowani
Postów: 97
Pomógł: 7
Dołączył: 24.06.2008

Ostrzeżenie: (0%)
-----


Witam, od 2 godzin próbuje dodać własną metodę w jquery.validate

o dziwo przy zalogowanym użytkowniku pobiera mi i zwraca poprawne dane ajaxem, natomiast przy niezalogowanym użytkowniku tak jakby w ogóle ajax źle pobierał dane (ale to pewno moje przeoczenie/zmeczenie),

wiec tak trochę skryptu

  1. <!--pole formularza wygenerowanego przez cakePHP--><div class="input text"><label for="UserLogin">Login<span class="gwiazdka">*</span>:</label><input name="data[User][login]" type="text" class="{validate:{ required: true, minlength: 4 }}" maxlength="20" value="" id="UserLogin" /><span id="after_UserLogin"></span></div>
  2.  
  3. <!--JS-->
  4.  
  5. $(document).ready(function(){
  6. //dodanie metody sprawdzającej czy login/email jest już w bazie
  7. $.validator.addMethod(
  8. "sprawdz",
  9.   function(value) {
  10. $.ajax({
  11. type: "POST",
  12. url: '/users/sprawdz_ajax/login/' + value,
  13. async: false,
  14. success: function(data){
  15. alert(data);
  16. if(data == 1){//1 = true
  17. return true;
  18. }else{// !1 = false
  19. return false;
  20. }
  21. }
  22. });
  23. },
  24. "Podane wyrażenie juz istnieje."
  25. );
  26.  
  27. $("#rejestracja").validate({
  28. meta: "validate",
  29. errorElement: "span",
  30. highlight: function(element, errorClass) {
  31. //$(element.form).find("span[id=after_" + element.id + "]").addClass(errorClass).removeClass(validClass);
  32. $(element.form).find("span[id=after_" + element.id + "]").addClass(errorClass);
  33. },
  34. unhighlight: function(element, errorClass) {
  35. //$(element.form).find("span[id=after_" + element.id + "]").removeClass(errorClass).addClass(validClass);
  36. $(element.form).find("span[id=after_" + element.id + "]").removeClass(errorClass);
  37. $(element.form).find("span[id=after_" + element.id + "]").text("Poprawne");
  38. }
  39. });
  40.  
  41.   $("#UserLogin").rules("add", { sprawdz: true });
  42.  
  43. });
 




Utworzyłem konto L: login H: zaq

http://rj.zgo.pl/users/rej2

możliwość odpalenia recznie skryptu ajax

http://rj.zgo.pl/users/sprawdz_ajax/login/login //istnieje w bazie

http://rj.zgo.pl/users/sprawdz_ajax/login/login_zly //nie istnieje w bazie

@hehe będzie trzeba zmienić parametry@

Apropo jeszcze mnie irytują dwa małe błędy

2. w trakcie pierwszej walidacji do klasy error wysiedlają się dwie ikonki po boku tekstu, następnie po kolejnej walidacji znikają, nie wiem czym to jest spowodowane

3. Dwie linijki zakomentowane przy :unhighlight i :highlight a dokładnie nie chce mi dodać klasy 

wyświetla błąd Błąd: validClass is not defined








Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 25.08.2025 - 04:22