2015-03-27 15 views
7

Tôi có một div trong jsp như sau:jquery validation addMethod không làm việc

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

tôi muốn để tính toán sự khác biệt giữa năm nay và năm bước vào. Tôi phải hiển thị lỗi nếu giá trị không nằm trong một phạm vi nào đó. Đây là hàm xác nhận jquery theo yêu cầu của tôi.

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; 
}), 

Nhưng nó đang hiển thị lỗi tại element.val tôi đã xác định các quy tắc như

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

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

'validage! = ValidAge' –

+0

Cảm ơn các bạn! Tôi chỉ có thể chấp nhận một câu trả lời để tôi chấp nhận câu trả lời đầu tiên. ;) – user3681970

+0

@ user3681970 vui lòng upvote câu trả lời nếu có thể :) – Kamini

Trả lời

6

Trong phần tử jquery addMethod (phần tử được xác thực) và giá trị (giá trị hiện tại của phần tử được xác thực)

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'); 

Xóa dấu phẩy khi không cần thiết và cũng thấy sự nhạy cảm của chữ hoa.

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

tên Phương pháp không được viết đúng chính tả, kiểm tra 'validage' thay vì 'validAge'

Các vấn đề liên quan