Dodać regułę przy użyciu metody max i funkcję jako pa rameter. Zostanie to ocenione, gdy pole zostanie zatwierdzone, tzn. Gdy element() zostanie wywołany na polu.
zasady definicja wygląda następująco
rules: {
field1:
{
required: true,
max: function() { return $("#mycheckbox:checked").length ? 100 : 50; }
}
}
Również revalidate pola docelowego, gdy zmiany przepisów lub może być pozostawiony z komunikatem o błędzie, że nie ma już zastosowania
$('#mycheckbox').on('change', function() {
$('#field1.error').each(function() {
$(this).valid();
});
});
Zauważ, że to tylko odnawia pole, jeśli jest już zatwierdzone, sprawdzając obecność domyślnego "błędu" errorClass.
z html jak to
<input name="mycheckbox" id="mycheckbox" type="checkbox" />
<input name="field1" id="field1">
<input type="submit" />
Pełny kod JavaScript jest tak, 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();
});
});
});