FormError
This commit is contained in:
@@ -9,7 +9,7 @@ import { SnowFlake } from "./snowflake.js";
|
||||
import { Message } from "./message.js";
|
||||
import { channeljson, memberjson, presencejson, readyjson } from "./jsontypes.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]);
|
||||
@@ -1052,7 +1052,7 @@ class Localuser{
|
||||
if(in1===in2){
|
||||
return in1;
|
||||
}else{
|
||||
throw [copy,"Passwords don't match"]
|
||||
throw new FormError(copy,"Passwords don't match");
|
||||
}
|
||||
})
|
||||
});
|
||||
|
@@ -649,6 +649,16 @@ class Options implements OptionsElement<void>{
|
||||
}
|
||||
}
|
||||
}
|
||||
class FormError extends Error{
|
||||
elem:OptionsElement<any>;
|
||||
message:string;
|
||||
constructor(elem:OptionsElement<any>,message:string){
|
||||
super(message);
|
||||
this.message=message;
|
||||
this.elem=elem;
|
||||
}
|
||||
}
|
||||
export {FormError};
|
||||
class Form implements OptionsElement<object>{
|
||||
name:string;
|
||||
readonly options:Options;
|
||||
@@ -766,11 +776,13 @@ class Form implements OptionsElement<object>{
|
||||
try{
|
||||
build[key]=thing();
|
||||
}catch(e:any){
|
||||
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