2016-02-28 5 views
0

Я не получаю этот метод работы dnicheck. Я не получаю сообщение, если я ввожу неправильный номер.jquery validator добавление нового метода не работает

Моего main.js

$.validator.setDefaults({ 
    errorClass: 'form_error', 
    errorElement: 'div' 
}); 

$.validator.addMethod("dniCheck", function(value, element){ 
    var valor = false; 
    if(/^([0-9]{8})*[a-zA-Z]+$/.test(value)){ 
     var numero = value.substr(0, value.length-1); 
     numero = numero % 23; 
     var let = 'TRWAGMYFPDXBNJZSQVHLCKET'; 
     letra = let.substring(numero,numero+1); 
     if(letra===let) valor = true; 
    } 
    valor = this.optional(element); 
    console.log(valor); 
    return valor; 
},"DNI no válido"); 

$("#form_participante").validate({ 
    rules:{ 
     nie:{ 
      dniCheck: true 
     } 
    }, 
    messages:{ 
     nie:{ 
      dniCheck:"Introduce el dni correcto" 
     } 
    } 
}); 

Моей форма

  <form id="form_participante" action="{{ urlFor('AltaParticipante') }}" method="POST" class="form-horizontal"> 
       <fieldset> 
        <legend>Alta nuevo participante</legend> 
        <div class="form-group"> 
         <label class="col-md-4 control-label" for="nieP">Nie participante</label> 
         <div class="col-md-5"> 
          <input id="nieP" name="nieP" placeholder="Nie del participante..." class="form-control input-md" type="text" /> 
         </div>  
        </div> 
... 
</form> 

В другой форме я хорошо проверить поля

Я не получаю сообщение об ошибке.

репозиторий в GitHub =>https://github.com/Mangulomx/olimpiada

+0

'nie' не соответствует' nieP' – Sparky

ответ

0

name вашего поля nieP, но вы ошибочно написали его как nie в пределах метода .validate(). Атрибут nameдолжен соответствовать.

$("#form_participante").validate({ 
    rules: { 
     nie: { // <- MUST match the NAME attribute 
      dniCheck: true 
     } 
    }, ..... 

DEMO: http://jsfiddle.net/vukqgv8b/

0

Первая строка в скрипте пропускает $?

Смежные вопросы