FormError
This commit is contained in:
@@ -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");
|
||||
}
|
||||
});
|
||||
});
|
||||
|
@@ -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;
|
||||
|
Reference in New Issue
Block a user