module.exports = function(){ 'use strict'; var $ = this; $.fn.processServerError = function(error){ var validationName = error.propertyName.toLowerCase(); var errorMessage = this.formatErrorMessage(error); this.find('.validation-errors').addClass('alert alert-danger').append('
' + errorMessage + '
'); if(!validationName || validationName === '') { this.addFormError(error); return this; } var input = this.find('[name]').filter(function(){ return this.name.toLowerCase() === validationName; }); if(input.length === 0) { input = this.find('[validation-name]').filter(function(){ return $(this).attr('validation-name').toLowerCase() === validationName; }); if(input.length === 0) { this.addFormError(error); console.error('couldn\'t find input for ' + error.propertyName); return this; } } var formGroup = input.parents('.form-group'); if(formGroup.length === 0) { formGroup = input.parent(); } else { var inputGroup = formGroup.find('.input-group'); if(inputGroup.length === 0) { formGroup.append('' + errorMessage + ''); } else { inputGroup.parent().append('' + errorMessage + ''); } } formGroup.addClass('has-error'); return formGroup.find('.help-inline').text(); }; $.fn.processClientError = function(error){ }; $.fn.addFormError = function(error){ var errorMessage = this.formatErrorMessage(error); if(this.find('.modal-body')) { this.find('.modal-body').prepend('
' + errorMessage + '
'); } else { this.prepend('
' + errorMessage + '
'); } }; $.fn.removeAllErrors = function(){ this.find('.has-error').removeClass('has-error'); this.find('.error').removeClass('error'); this.find('.validation-errors').removeClass('alert').removeClass('alert-danger').html(''); this.find('.validation-error').remove(); return this.find('.help-inline.error-message').remove(); }; $.fn.formatErrorMessage = function(error){ var errorMessage = error.errorMessage; if(error.infoLink) { if(error.detailedDescription) { errorMessage += ' '; } else { errorMessage += ' '; } } else if(error.detailedDescription) { errorMessage += ' '; } return errorMessage; }; };