Reset custom validity before validation check

This commit is contained in:
Jake Barnby 2022-08-29 22:27:54 +12:00
parent 3da244b3dd
commit 1974c422ce
No known key found for this signature in database
GPG key ID: C437A8CC85B96E9C

View file

@ -34,15 +34,7 @@
});
},
addPermission(formId, role, permissions) {
if (Object.values(permissions).every(p => p === false)) {
document.getElementById(`${formId}Input`)
.setCustomValidity('No permissions selected');
}
if (this.permissions.some(p => p.role === role)) {
document.getElementById(`${formId}Input`)
.setCustomValidity('Role entry already exists');
}
if (!document.getElementById(formId).reportValidity()) {
if (!this.validate(formId, role, permissions)) {
return;
}
Object.entries(permissions).forEach(entry => {
@ -113,6 +105,21 @@
return 'delete';
}
return key;
},
validate(formId, role, permissions) {
const form = document.getElementById(formId);
const input = document.getElementById(`${formId}Input`);
input.setCustomValidity('');
if (!Object.values(permissions).some(p => p)) {
input.setCustomValidity('No permissions selected');
}
if (this.permissions.some(p => p.role === role)) {
input.setCustomValidity('Role entry already exists');
}
return form.reportValidity();
}
}));
Alpine.data('permissionsRow', () => ({