1
0
Fork 0
mirror of synced 2024-06-02 19:04:49 +12:00
appwrite/public/scripts/views/forms/duplications.js
2021-08-09 10:08:49 +03:00

40 lines
1 KiB
JavaScript

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