2011-01-20 7 views
6

Przeszukałem przepełnienie stosu i nie mogę znaleźć odpowiedzi na moje pytanie.wtyczka sprawdzania poprawności jQuery na basie - niedopasowanie zależności

Używam bassistance jquery validation plugin i działa dobrze wszystkie z wyjątkiem jednej określonej sekcji, niestandardowych metod.

Metody działają właśnie dlatego, że wywołujemy $ ('selektor'). Valid() mówi mi, że element jest nieprawidłowy, mimo że powinien być poprawny.

Jest to spowodowane tym, że this.optional (element) zwraca "niezgodność zależności".

Moje pytanie brzmi:

Co zależność-niedopasowanie znaczy podczas sprawdzania opcjonalnie na elemencie?

Czy zależność oznacza, że ​​jest opcjonalna, ale ma inne zależności?

Czy moja metoda niestandardowa powinna sprawdzić opcjonalne pole "niezgodności zależności"?

Nie jestem pewien, co ma powrócić i dlaczego.

Czy moja metoda niestandardowa również zwróci niedopasowanie zależności? czy powinienem sobie z tym poradzić?

To jest mój zwyczaj metoda:

$.validator.addMethod(
     "ukphonenumber", 
     function (value, element, validate) { 

      if (validate) { 
       var regexp = "\\s*\\(?((\\+0?44)?\\)?[ \\-]?(\\(0\\))|0)((20[7,8]{1}\\)?[ \-]?[1-9]{1}[0-9]{2}[ \\-]?[0-9]{4})|([1-8]{1}[0-9]{3}\\)?[ \\-]?[1-9]{1}[0-9]{2}[ \\-]?[0-9]{3}))\\s*"; 
       var re = new RegExp(regexp); 
       return this.optional(element) || re.test(value); 
      } 
      else { 
       return true; 
      } 
     }, 
     "Please check your input." 
    ); 

I to dodanie reguły do ​​mojego wejścia:

$("#<%=txtTelephoneNumber.ID %>").rules("add", { 
      required: false, 
      ukphonenumber: true, 
      messages: { 
       required: "Please enter your telephone number", 
       ukphonenumber: "Your telephone number is invalid" 
      } 
     }); 

Odpowiedz

1

ja również pocztą elektroniczną programiście biblioteki, ale tej odpowiedzi: Jakie rozwiązało problem .

czy jest jakikolwiek powód do zastosowania: false zamiast wymaganego: prawda? Jeśli pole nie jest wymagane, należy pozostawić wymaganą regułę zamiast ustawiać wartość false.

Można także spróbować pominąć wywołanie this.optional (element) w ramach niestandardowej metody.

Pozdrowienia Jörn

-1

to działa:

return (this.optional(element) != false) || re.test(value); 

Dependency mismatch with Jquery Validate plugin

+0

Nie, to nie robi !! Przeczytaj moją odpowiedź, to jest rozwiązanie. To lub zmieniając bibliotekę, aby nie zwracała zależności niezgodności dla wymaganych elementów. – jimplode

Powiązane problemy