FormError

This commit is contained in:
MathMan05
2024-08-26 12:12:52 -05:00
parent 39f008758b
commit a90e584790
4 changed files with 38 additions and 14 deletions

View File

@@ -7,7 +7,7 @@ import { getapiurls, getBulkInfo, setTheme } from "./login.js";
import { SnowFlake } from "./snowflake.js";
import { Message } from "./message.js";
import { Member } from "./member.js";
import { Settings } from "./settings.js";
import { FormError, Settings } from "./settings.js";
import { MarkDown } from "./markdown.js";
const wsCodesRetry = new Set([4000, 4003, 4005, 4007, 4008, 4009]);
class Localuser {
@@ -1045,7 +1045,7 @@ class Localuser {
return in1;
}
else {
throw [copy, "Passwords don't match"];
throw new FormError(copy, "Passwords don't match");
}
});
});

View File

@@ -647,6 +647,16 @@ class Options {
}
}
}
class FormError extends Error {
elem;
message;
constructor(elem, message) {
super(message);
this.message = message;
this.elem = elem;
}
}
export { FormError };
class Form {
name;
options;
@@ -763,11 +773,13 @@ class Form {
build[key] = thing();
}
catch (e) {
const elm = this.options.html.get(e[0]);
if (elm) {
const html = elm.deref();
if (html) {
this.makeError(html, e[1]);
if (e instanceof FormError) {
const elm = this.options.html.get(e.elem);
if (elm) {
const html = elm.deref();
if (html) {
this.makeError(html, e.message);
}
}
}
return;