1
0
Fork 0
mirror of synced 2024-06-14 00:34:51 +12:00

Validate input on add new row

This commit is contained in:
Jake Barnby 2022-09-12 15:55:58 +12:00
parent 7aeedb90bf
commit 953d338966
No known key found for this signature in database
GPG key ID: C437A8CC85B96E9C
2 changed files with 9 additions and 7 deletions

View file

@ -103,7 +103,7 @@ $escapedPermissions = \array_map(function ($perm) {
<tfoot>
<tr>
<td colspan="<?php \count($permissions) + 2 ?>">
<button type="button" class="margin-top-small reverse" @click="addPermission()">Add Role</button>
<button type="button" class="margin-top-small reverse" @click="addPermission('<?php echo $form ?>')">Add Role</button>
</td>
</tr>
</tfoot>

View file

@ -96,19 +96,21 @@
}
return key;
},
validate(formId, role, permissions) {
validate(formId, index) {
const form = document.getElementById(formId);
const input = document.getElementById(`${formId}Input`);
const input = document.getElementById(`${formId}Input${index}`);
const permission = this.permissions[index];
input.setCustomValidity('');
if (!Object.values(permissions).some(p => p)) {
if (permission.role === '') {
input.setCustomValidity('Role is required');
} else if (!Object.entries(permission).some(([k, v]) => !k.includes('role') && v)) {
input.setCustomValidity('No permissions selected');
}
if (this.permissions.some(p => p.role === role)) {
} else if (this.permissions.some(p => p.role === permission.role && p !== permission)) {
input.setCustomValidity('Role entry already exists');
}
return form.reportValidity();
},
prevent(event) {