Я мог бы сделать что-то вроде этого:
var validations = new Array();
$('select[name="new_jobType"]').change(function() {
var thisJob = $(this + " option:selected").val();
if(thisJob == 4) {
validations.push("thisJobValidations");
}
});
Просто отправьте все подпрограммы проверки, которые нужно запустить, в этот массив проверок, а затем отправьте:
for(var i = 0; i < validations.length; i++) {
eval(validations[i] + "();");
}
И у вас были бы функции для выполнения действительных проверок:
function thisJobValidations() {
// validation magic happens here
}
eval()
внутри цикла for выполнит процедуру (ы) проверки на основе того, что было помещено в массив validations
.
Таким образом, вы можете сегментировать свои проверки в зависимости от того, какие условия были выполнены, и вам не нужно писать одну монолитную функцию проверки, которая была бы более подвержена ошибкам.
Инкапсулируйте все вещи !! : -)