mirror of
https://github.com/lidarr/lidarr.git
synced 2025-07-14 17:13:49 -07:00
Better validation for Growl settings.
This commit is contained in:
parent
c0e0bf7e66
commit
b86a19451d
4 changed files with 154 additions and 2 deletions
|
@ -40,4 +40,54 @@ $.validator.unobtrusive.adapters.add(
|
|||
targetvalue: options.params['targetvalue']
|
||||
};
|
||||
options.messages['requiredif'] = options.message;
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
$.validator.addMethod('requiredifany',
|
||||
function (value, element, parameters) {
|
||||
|
||||
console.log(parameters['dependentproperties']);
|
||||
console.log(parameters['targetvalues']);
|
||||
|
||||
var dependentProperties = parameters['dependentproperties'].split('|');
|
||||
var targetValues = parameters['targetvalues'].split('|');
|
||||
|
||||
for (var i = 0; i < dependentProperties.length; i++) {
|
||||
var id = '#' + dependentProperties[i];
|
||||
|
||||
// get the target value (as a string,
|
||||
// as that's what actual value will be)
|
||||
var targetvalue = targetValues[i];
|
||||
targetvalue =
|
||||
(targetvalue == null ? '' : targetvalue).toString();
|
||||
|
||||
// get the actual value of the target control
|
||||
// note - this probably needs to cater for more
|
||||
// control types, e.g. radios
|
||||
var control = $(id);
|
||||
var controltype = control.attr('type');
|
||||
var actualvalue =
|
||||
controltype === 'checkbox' ?
|
||||
(control.attr('checked') == "checked" ? "true" : "false") :
|
||||
control.val();
|
||||
|
||||
// if the condition is true, reuse the existing
|
||||
// required field validator functionality
|
||||
if (targetvalue === actualvalue)
|
||||
return $.validator.methods.required.call(
|
||||
this, value, element, parameters);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
);
|
||||
|
||||
$.validator.unobtrusive.adapters.add(
|
||||
'requiredifany',
|
||||
['dependentproperties', 'targetvalues'],
|
||||
function (options) {
|
||||
options.rules['requiredifany'] = {
|
||||
dependentproperties: options.params['dependentproperties'],
|
||||
targetvalues: options.params['targetvalues']
|
||||
};
|
||||
options.messages['requiredifany'] = options.message;
|
||||
});
|
Loading…
Add table
Add a link
Reference in a new issue