fare una regola utilizzando il metodo max e una funzione come un pa Parametro Tipo. Questo verrà valutato quando il campo viene convalidato, cioè quando element() viene chiamato sul campo.
regole definizione assomiglia a questo
rules: {
field1:
{
required: true,
max: function() { return $("#mycheckbox:checked").length ? 100 : 50; }
}
}
Inoltre, rinnovo il campo di destinazione quando i cambiamenti delle regole o si può essere lasciato con un messaggio di errore che non è più applicabile
$('#mycheckbox').on('change', function() {
$('#field1.error').each(function() {
$(this).valid();
});
});
Si noti che questo solo riconvalida il campo se è già validato, verificando la presenza dell'errore errorClass 'error'.
con html come questo
<input name="mycheckbox" id="mycheckbox" type="checkbox" />
<input name="field1" id="field1">
<input type="submit" />
codice completo JavaScript è come questo, 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();
});
});
});
fonte
2013-02-10 10:29:36