ServiceInnovationLab/serviceinnovationlab.github.io

View on GitHub
_sass/_libs/wds/js/components/validator.js

Summary

Maintainability
A
1 hr
Test Coverage
var $ = require('jquery');
 
Function `exports` has a Cognitive Complexity of 10 (exceeds 5 allowed). Consider refactoring.
module.exports = function($el) {
var data = $el.data(),
key,
validatorName,
validatorPattern,
$validatorCheckbox,
$checkList = $(data.validationElement);
 
function validate() {
for (key in data) {
if (key.startsWith('validate')) {
validatorName = key.split('validate')[1];
validatorPattern = new RegExp(data[key]);
$validatorCheckbox = $checkList.find(
'[data-validator=' + validatorName.toLowerCase() + ']',
);
 
if (!validatorPattern.test($el.val())) {
$validatorCheckbox.toggleClass('nz-checklist-checked', false);
} else {
$validatorCheckbox.toggleClass('nz-checklist-checked', true);
}
}
}
}
 
$el.on('keyup', validate);
};