Я не понимаю, что метод работы dnicheck. Я не получаю никаких сообщений, если ввожу неправильный номер.

Мой 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 = & gt; https://github.com/Mangulomx/olimpiada

0
mangulom 28 Фев 2016 в 14:41

2 ответа

Лучший ответ

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

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

ДЕМО: http://jsfiddle.net/vukqgv8b/

0
Sparky 28 Фев 2016 в 16:38

В первой строке вашего скрипта отсутствует $?

0
staabm 28 Фев 2016 в 13:08