$(document).ready(function () { $.validator.addMethod('filesize', function (value, element, param) { return this.optional(element) || (element.files[0].size <= param) }); $('#apply_job').validate({ errorClass: "help-block", validClass: 'valid', rules: { 'email': { required: true, email: true, }, 'name': { required: true }, 'contact_code': { required: true }, 'contact': { required: true, number: true, maxlength: 15, minlength:10 }, 'resume': { required: true, extension: "doc,docx,pdf", filesize: 200000 //2 mb max }, 'address': { required: true, }, }, messages: { 'email': { required: 'Please enter email address.', email: 'Please enter valid email address.', }, 'name': { required: 'Please enter full name.', }, 'contact_code': { required: 'Please select country code.', }, 'address': { required: 'Please enter address.', }, 'contact': { required: 'Please enter phone number.', maxlength: 'Phone number is no more than 15 digits.', number: 'Please specify a valid contact number.', }, 'resume': { required: 'Please upload a resume.', extension: "Please upload only doc,docx and pdf file", filesize:"Resume file size must not greater then 2MB.", } }, errorPlacement: function (error, element) { //element.parents('div.form-group').append(error); }, highlight: function (element, errorClass, validClass) { $(element).parents("div.form-group").addClass('has-error').removeClass(validClass); }, invalidHandler: function (form, validator) { var errors = validator.numberOfInvalids(); var errorMsgs = ''; $.each(validator.invalid, function (key, val) { errorMsgs += val + '
'; }); if (errorMsgs) { $.growl.error({title: 'Error!', message: errorMsgs}); } }, unhighlight: function (element, errorClass, validClass) { $(element).parents(".has-error").removeClass('has-error').addClass(validClass); }, submitHandler: function (form) { $('#career_sub').text('Submit...'); $('#career_sub').attr('disabled',true); $('#cp_show_loader').show(); form.submit(); } }); });