2015-03-27 26 views
7

çalışmıyor addMethod:jQuery doğrulama aşağıdaki gibi ben jsp bir div var

<input type="text" id="year" placeholder=" Year" class="year" name= "year" value=""/> 

Ben bu yıl ve girilen yıl arasındaki farkı hesaplamak istiyoruz. Değer bir aralık içinde değilse, hatayı göstermeliyim. Bu benim custome jquery validator işlevi.

jQuery.validator.addMethod('validAge', function (value, element, params) { 
    alert("inside add method"); 
    var currentYear = (new Date).getFullYear(); 
    var range = currentYear - $element.val();; 
    if(range >10 && range< 70) 
     { 
     return true; 
     } 
    return false; 
}), 

Ama ben düzgün yazıldığından değil

$('#signup_form').validate({ // initialize the plugin 

    rules: { 
     year: { 
      validage: true, 
      }, 
    }, 
    messages: { 
     year: "Invalid year", 
    }, 
    }, 
    }); 
+0

'validage! = ValidAge' –

+0

Teşekkürler beyler! Sadece bir cevabı kabul edebilirim, böylece ilkini kabul ettim. ;) – user3681970

+0

@ user3681970 lütfen mümkünse cevabı tekrar edin :) – Kamini

cevap

6

arasında 'validage' onay Jquery addMethod öğesinde (doğrulanacak öğe) ve değer (doğrulanmış öğenin geçerli değeri)

jQuery.validator.addMethod("validAge", function (value, element, params) { 
     alert("inside add method"); 
     var currentYear = (new Date).getFullYear(); 
     var range = currentYear - value; 

     return this.optional(element) || (range >10 && range< 70) 

    },'Enter range in between 10 to 70'); 

Gerekmediğinde virgülleri kaldırın ve ayrıca büyük/küçük harf duyarlılığı görün.

var validator = $('#form').validate({ 
    rules: { 
     year: { 
      validAge: true 
     } 
    }, 
    messages: { 
     year: "Invalid year" 
    } 
}); 
2

Yöntem adı olarak kural tanımladığınız element.val de hata gösteriliyor, onun yerine 'validAge'

İlgili konular