Fix missing highlighting of required form fields in dialogs
authorMarcel Werk <burntime@woltlab.com>
Wed, 13 Jul 2022 16:05:57 +0000 (18:05 +0200)
committerMarcel Werk <burntime@woltlab.com>
Wed, 13 Jul 2022 16:05:57 +0000 (18:05 +0200)
ts/WoltLabSuite/Core/Ui/Dialog.ts
wcfsetup/install/files/js/WoltLabSuite/Core/Ui/Dialog.js

index 6b548b888e2951b75bcdcebaed32d28d3fb1f349..071859d4d00e508d08de66f22a3a044c33b981e0 100644 (file)
@@ -698,10 +698,12 @@ const UiDialog = {
       if (inputField.required) {
         if (inputField.value.trim() === "") {
           DomUtil.innerError(inputField, Language.get("wcf.global.form.error.empty"));
+          inputField.closest('dl')?.classList.add('formError');
 
           isValid = false;
         } else {
           DomUtil.innerError(inputField, false);
+          inputField.closest('dl')?.classList.remove('formError');
         }
       }
     });
index 3944bbc6a54d6e8ce1ef85caf35f3a9a7bd944a0..ff2c0322b862bce13622a3b0f9e499477eb2ca47 100644 (file)
@@ -570,13 +570,16 @@ define(["require", "exports", "tslib", "../Core", "../Dom/Change/Listener", "./S
             const data = _dialogs.get(id);
             let isValid = true;
             data.inputFields.forEach((inputField) => {
+                var _a, _b;
                 if (inputField.required) {
                     if (inputField.value.trim() === "") {
                         Util_1.default.innerError(inputField, Language.get("wcf.global.form.error.empty"));
+                        (_a = inputField.closest('dl')) === null || _a === void 0 ? void 0 : _a.classList.add('formError');
                         isValid = false;
                     }
                     else {
                         Util_1.default.innerError(inputField, false);
+                        (_b = inputField.closest('dl')) === null || _b === void 0 ? void 0 : _b.classList.remove('formError');
                     }
                 }
             });