Skip to content
Snippets Groups Projects
Commit 8d40c849 authored by Jan-Hendrik Willms's avatar Jan-Hendrik Willms
Browse files

check validity of forms before proceeding, fixes #772

Closes #772

Merge request studip/studip!412
parent a9a31a9e
No related branches found
No related tags found
No related merge requests found
...@@ -672,9 +672,17 @@ Dialog.removeHeaderHandler = function (header) { ...@@ -672,9 +672,17 @@ Dialog.removeHeaderHandler = function (header) {
}; };
Dialog.initialize = function() { Dialog.initialize = function() {
function checkValidity(element) {
const form = element.closest('form');
if (form === null) {
return true;
}
return form.checkValidity();
}
// Actual dialog handler // Actual dialog handler
function dialogHandler(event) { function dialogHandler(event) {
if (!event.isDefaultPrevented()) { if (!event.isDefaultPrevented() && checkValidity(event.target)) {
var target = $(event.target).closest('[data-dialog]'); var target = $(event.target).closest('[data-dialog]');
var options = target.data().dialog; var options = target.data().dialog;
if (Dialog.fromElement(target, parseOptions(options))) { if (Dialog.fromElement(target, parseOptions(options))) {
...@@ -684,7 +692,7 @@ Dialog.initialize = function() { ...@@ -684,7 +692,7 @@ Dialog.initialize = function() {
} }
function clickHandler(event) { function clickHandler(event) {
if (!event.isDefaultPrevented()) { if (!event.isDefaultPrevented() && checkValidity(event.target)) {
var element = $(event.target).closest(':submit,input[type="image"]'); var element = $(event.target).closest(':submit,input[type="image"]');
var form = element.closest('form'); var form = element.closest('form');
var action = element.attr('formaction'); var action = element.attr('formaction');
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment