Ну как вариант, при смене чекбокса, меняешь и поле input.
К примеру так:
<form onsubmit="checkForm(); return false;" id="myForm">
<input type="checkbox" onchange="(this.checked) ? $('#input_1').removeAttr('disabled') : $('#input_1').attr('disabled', 'disabled');" /> Флажок №1 <input type="text" id="input_1" disabled /><br />
<input type="checkbox" onchange="(this.checked) ? $('#input_2').removeAttr('disabled') : $('#input_2').attr('disabled', 'disabled');" /> Флажок №2 <input type="text" id="input_2" disabled /><br />
<input type="checkbox" onchange="(this.checked) ? $('#input_3').removeAttr('disabled') : $('#input_3').attr('disabled', 'disabled');" /> Флажок №3 <input type="text" id="input_3" disabled /><br />
<input type="checkbox" onchange="(this.checked) ? $('#input_4').removeAttr('disabled') : $('#input_4').attr('disabled', 'disabled');" /> Флажок №4 <input type="text" id="input_4" disabled /><br />
<input type="submit" />
</form>
Ну а в функции checkForm уже, пробегаешь по всем полям input и у которых disabled равно false делаешь валидацию.
К примеру так:
function checkForm() {
$("#myForm input[type=text]").each(function() {
if (this.disabled == false)
checkInput(this.id);
});
}
В функции checkInput делаешь валидацию поля