2015-02-09 25 views
10

Mam formularz zarejestrowanej wcześniej, która próbuję dodać walidacji jQuery zawierających:Uncaught TypeError: nie można odczytać właściwość „zadzwoń” o nieokreślonej

<form id="form" method="POST" action="/title/"> 
    {% csrf_token %} 
<input type="hidden" name="id" value="6"> 
<input type="hidden" name="custom_checkbox_Electronic_Signature_man" value="1"> 
          <p> <span class="style9">First Name </span> 
           <input type="text" name="first_name" value="" size="20" class="style7"><span class="style9"> 
          Last Name </span> 
           <input type="text" name="last_name" value="" size="20" class="style7"><span class="style9"> 

za pomocą wtyczki jQuery walidatora, dodałem:

$('form').validate({ 
    rules: { 
     first_name: { 
      minlen: 3, 
      maxlength: 15, 
      required: true 
     }, 
     last_name: { 
      minlength: 3, 
      maxlength: 15, 
      required: true 
     }, 
     email: { 
      required: true, 
      email: true 
     }, 
     phone1: { 
      required: true, 
      phoneUS: true 
      }, 
     phone2: { 
      required: true, 
      phoneUS: true 
      }, 
      street: { 
      required: true 
      }, 
       city: { 
      required: true 
      }, 
       state: { 
      required: true 
      }, 
       zip: { 
      zipcodeUS: true 
      } 

    }, 
    highlight: function(element) { 
     $(element).closest('.style9').addClass('.style13'); 
     //$(element).addClass('.style13'); 
    }, 
    unhighlight: function(element) { 
     $(element).closest('.style9').removeClass('.style13'); 
     //$(element).removeClass('.style13'); 
    }, 
    errorElement: 'span', 
    errorClass: 'style13', 
    errorPlacement: function(error, element) { 
     if(element.parent('.input-group').length) { 
      error.insertAfter(element.parent()); 
     } else { 
      error.insertAfter(element); 
     } 
    } 
}); 

Otrzymuję błąd wymieniony powyżej. Co ja robię źle?

+0

Jak wygląda śledzenie błędów? również gdzie jest klasa .input-group w html – Quince

+1

Miałem ten sam problem tylko miałem 'minLength' zamiast' minlength'. To zawsze głupie rzeczy, które mnie zabijają. – yankeyhotel

Odpowiedz

14

Wymień minlen z minlength i działa, nie ma minlen nieruchomość, więc call nie wewnętrznie

$('form').validate({ 
    rules: { 
     first_name: { 
      minlength: 3, // <- here 
      maxlength: 15, 
      required: true 
     }, 
     last_name: { 
      minlength: 3, 
      maxlength: 15, 
      required: true 
     }, 
    .......... 
0

spróbować

jQuery(document).ready(function(){ 
       $('form').validate({ 
    rules: { 
     first_name: { 
      minlen: 3, 
      maxlength: 15, 
      required: true 
     }, 
     last_name: { 
      minlength: 3, 
      maxlength: 15, 
      required: true 
     }, 
     email: { 
      required: true, 
      email: true 
     }, 
     phone1: { 
      required: true, 
      phoneUS: true 
      }, 
     phone2: { 
      required: true, 
      phoneUS: true 
      }, 
      street: { 
      required: true 
      }, 
       city: { 
      required: true 
      }, 
       state: { 
      required: true 
      }, 
       zip: { 
      zipcodeUS: true 
      } 

    }, 
    highlight: function(element) { 
     $(element).closest('.style9').addClass('.style13'); 
     //$(element).addClass('.style13'); 
    }, 
    unhighlight: function(element) { 
     $(element).closest('.style9').removeClass('.style13'); 
     //$(element).removeClass('.style13'); 
    }, 
    errorElement: 'span', 
    errorClass: 'style13', 
    errorPlacement: function(error, element) { 
     if(element.parent('.input-group').length) { 
      error.insertAfter(element.parent()); 
     } else { 
      error.insertAfter(element); 
     } 
    } 
}); 
      }); 
3

Ogólnie mówiąc jest to błąd, który może zostać podniesiony, jeśli ciebie ustawiono niepoprawną regułę walidacji jQuery.
Możesz znaleźć prawidłowe zasady sprawdzania poprawności, używając linku this.