$(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":"email_address","label":"E-mail","rules":["trim","required","valid_email"]},{"field":"password","label":"Wachtwoord","rules":["trim","required","alpha_dash"]}]); }; $.fn.tempranillo = validates; $('form#member_login').submit(validates); });