fix(front/forms): simplify and fix usage of flashed previousFormData and validation errors
This commit is contained in:
parent
3eb33c64d7
commit
4cfcaac1cc
@ -6,7 +6,7 @@
|
||||
import Icon from "../utils/Icon.svelte";
|
||||
import {hasRoute, route} from "../../../common/Routing";
|
||||
|
||||
let registerUsingMagicLink = $locals.previousFormData?.['auth_method'] !== 'password';
|
||||
let registerUsingMagicLink = $locals.flash.previousFormData?.[0]?.['auth_method'] !== 'password';
|
||||
let loginUsingMagicLink = true;
|
||||
|
||||
let queryStr = '';
|
||||
|
@ -15,12 +15,12 @@
|
||||
export let hint: string | undefined = undefined;
|
||||
export let extraData: string[] | undefined = undefined;
|
||||
export let icon: string | undefined = undefined;
|
||||
export let validation = $locals.validation?.[name] as { message: string, value?: string } | undefined;
|
||||
export let validation = $locals.flash.validation?.[0]?.[name] as { message: string, value?: string } | undefined;
|
||||
|
||||
const formId = getContext('formId');
|
||||
const fieldId = `${formId}-${name}-field`;
|
||||
|
||||
const previousFormData = $locals.previousFormData as FieldValue | undefined || [];
|
||||
const previousFormData = $locals.flash.previousFormData?.[0] as Record<string, FieldValue> | undefined || {};
|
||||
let previousFieldData = previousFormData[name];
|
||||
if (typeof value === 'number' && previousFieldData) previousFieldData = Number(previousFieldData);
|
||||
|
||||
|
@ -5,19 +5,6 @@ import ApplicationComponent from "../ApplicationComponent.js";
|
||||
export default class FormHelperComponent extends ApplicationComponent {
|
||||
|
||||
public async initRoutes(router: Router): Promise<void> {
|
||||
router.use((req, res, next) => {
|
||||
res.setLazyLocal('validation', () => {
|
||||
const validation = req.flash('validation');
|
||||
return validation.length > 0 ? validation[0] : null;
|
||||
});
|
||||
|
||||
res.setLazyLocal('previousFormData', () => {
|
||||
const previousFormData = req.flash('previousFormData');
|
||||
return previousFormData.length > 0 ? previousFormData[0] : null;
|
||||
});
|
||||
next();
|
||||
});
|
||||
|
||||
router.use((req, res, next) => {
|
||||
if (['GET', 'POST'].find(m => m === req.method)) {
|
||||
if (typeof req.body === 'object' && Object.keys(req.body).length > 0) {
|
||||
|
Loading…
Reference in New Issue
Block a user