Radarr/UI/jQuery/jquery.validation.js

64 lines
2.1 KiB
JavaScript

define(
[
'jquery'
], function ($) {
'use strict';
$.fn.processServerError = function (error) {
var validationName = error.propertyName.toLowerCase();
this.find('.validation-errors')
.addClass('alert alert-error')
.append('<div><i class="icon-exclamation-sign"></i>' + error.errorMessage + '</div>');
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;
});
//still not found?
if (input.length === 0) {
this.addFormError(error);
console.error('couldn\'t find input for ' + error.propertyName);
return this;
}
}
var controlGroup = input.parents('.control-group');
if(controlGroup.length ===0){
controlGroup = input.parent();
}
else{
controlGroup.find('.controls').append('<span class="help-inline error-message">' + error.errorMessage + '</span>');
}
controlGroup.addClass('error');
return controlGroup.find('.help-inline').text();
};
$.fn.processClientError = function (error) {
};
$.fn.addFormError = function (error) {
this.find('.control-group').parent().prepend('<div class="alert alert-error validation-error">' + error.errorMessage + '</div>')
};
$.fn.removeAllErrors = function () {
this.find('.error').removeClass('error');
this.find('.validation-errors').removeClass('alert').removeClass('alert-error').html('');
this.find('.validation-error').remove();
return this.find('.help-inline.error-message').remove();
};
});