Files
globelus.pl/plugins/jquery-validation/polish/validator.require-from-group.js
2024-11-11 15:28:20 +01:00

40 lines
1.2 KiB
JavaScript

/* eslint-disable func-names */
/* Validator required from group */
function requireFromGroupMsg(value) {
const min = parseInt(value[0], 10);
if (min === 1) {
return `Proszę wypełnić przynajmniej ${min} pole z grupy.`;
} else if (min > 1 && min < 5) {
return `Proszę wypełnić przynajmniej ${min} pola z grupy.`;
}
return `Proszę wypełnić przynajmniej ${min} pól z grupy.`;
}
jQuery.validator.addMethod(
"require_from_group",
function(value, element, options) {
const $fields = jQuery(options[1], element.form);
const $fieldsFirst = $fields.eq(0);
const validator = $fieldsFirst.data("valid_req_grp")
? $fieldsFirst.data("valid_req_grp")
: jQuery.extend({}, this);
const isValid =
$fields.filter(function() {
return validator.elementValue(this);
}).length >= options[0];
$fieldsFirst.data("valid_req_grp", validator);
if (!jQuery(element).data("being_validated")) {
$fields.data("being_validated", true);
$fields.each(function() {
validator.element(this);
});
$fields.data("being_validated", false);
}
return isValid;
},
requireFromGroupMsg
);