$(function() { /** * Validates a form upon submit. */ function validate(id, rules) { var returnValue = true; for (var i = 0; i < rules.length; i++) { var value = $('#' + id).find(':input[name=' + rules[i].field + ']').val(); for (var j = 0; j < rules[i].rules.length; j++) { var rule = rules[i].rules[j]; if (rule == 'required') { if (value == '') { var selector = '#error_' + rules[i].field + '_required, #error-' + rules[i].field + '-required'; console.log(selector); var error = $(selector); if (error.hasClass('hidden')) { error.removeClass('hidden').hide(); } error.fadeIn('normal'); returnValue = false; continue; } $('#error_' + rules[i].field + '_required').fadeOut('fast'); } } } return returnValue; } var validates = function() { return validate($(this).attr('id'), [{"field":"name","label":"Naam","rules":["trim","required"]},{"field":"email_address","label":"E-mailadres","rules":["trim","required","valid_email"]},{"field":"message","label":"Bericht","rules":["trim","required"]}]); }; $.fn.tempranillo = validates; $('form#contact').submit(validates); });