appwrite/public/scripts/views/forms/duplications.js

40 lines
1 KiB
JavaScript
Raw Normal View History

2021-08-08 15:57:26 +00:00
(function (window) {
"use strict";
window.ls.container.get("view").add({
selector: "data-duplications",
2021-08-09 07:08:49 +00:00
controller: function (element) {
let validate = function (element) {
2021-08-08 15:57:26 +00:00
let duplication = 0;
2021-08-09 07:08:49 +00:00
let form = element.form;
2021-08-08 15:57:26 +00:00
for (let i = 0; i < form.elements.length; i++) {
let field = form.elements[i];
2021-08-09 07:08:49 +00:00
if(field.name === element.name && field.value === element.value) {
2021-08-08 15:57:26 +00:00
duplication++;
}
}
if(duplication > 1) { // self + another element with same name and value
2021-08-09 07:08:49 +00:00
element.setCustomValidity("Duplicated value");
2021-08-08 15:57:26 +00:00
}
else {
2021-08-09 07:08:49 +00:00
element.setCustomValidity("");
2021-08-08 15:57:26 +00:00
}
2021-08-09 07:08:49 +00:00
};
element.addEventListener('change', function(event) {
validate(event.target)
});
element.addEventListener('focus', function(event) {
validate(event.target)
});
element.addEventListener('blur', function(event) {
validate(event.target)
2021-08-08 15:57:26 +00:00
});
}
});
})(window);