Thực hiện một quy tắc sử dụng các max phương pháp và chức năng như một pa rameter. Điều này sẽ được đánh giá khi trường được xác nhận hợp lệ, tức là khi phần tử() được gọi trên trường.
quy tắc định nghĩa trông như thế này
rules: {
field1:
{
required: true,
max: function() { return $("#mycheckbox:checked").length ? 100 : 50; }
}
}
Ngoài ra, hợp lệ lại lĩnh vực mục tiêu khi thay đổi quy tắc hoặc bạn có thể bị bỏ lại với một thông báo lỗi rằng không còn được áp dụng
$('#mycheckbox').on('change', function() {
$('#field1.error').each(function() {
$(this).valid();
});
});
lưu ý rằng revalidates chỉ này trường nếu nó đã được xác thực, kiểm tra sự hiện diện của lỗi errorClass 'lỗi' mặc định.
với html như thế này
<input name="mycheckbox" id="mycheckbox" type="checkbox" />
<input name="field1" id="field1">
<input type="submit" />
Toàn mã JavaScript là như thế này, find the fiddle here
$(function() {
$("form").validate({
rules: {
field1:
{
required: true,
max: function() {
return $("#mycheckbox:checked").length ? 100 : 50;
}
}
},
submitHandler: function() {
alert('form ok');
}
});
$('#mycheckbox').on('change', function() {
$('#field1.error').each(function() {
$(this).valid();
});
});
});
Nguồn
2013-02-10 10:29:36