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 Icon from "../utils/Icon.svelte";
|
||||||
import {hasRoute, route} from "../../../common/Routing";
|
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 loginUsingMagicLink = true;
|
||||||
|
|
||||||
let queryStr = '';
|
let queryStr = '';
|
||||||
|
@ -15,12 +15,12 @@
|
|||||||
export let hint: string | undefined = undefined;
|
export let hint: string | undefined = undefined;
|
||||||
export let extraData: string[] | undefined = undefined;
|
export let extraData: string[] | undefined = undefined;
|
||||||
export let icon: 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 formId = getContext('formId');
|
||||||
const fieldId = `${formId}-${name}-field`;
|
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];
|
let previousFieldData = previousFormData[name];
|
||||||
if (typeof value === 'number' && previousFieldData) previousFieldData = Number(previousFieldData);
|
if (typeof value === 'number' && previousFieldData) previousFieldData = Number(previousFieldData);
|
||||||
|
|
||||||
|
@ -5,19 +5,6 @@ import ApplicationComponent from "../ApplicationComponent.js";
|
|||||||
export default class FormHelperComponent extends ApplicationComponent {
|
export default class FormHelperComponent extends ApplicationComponent {
|
||||||
|
|
||||||
public async initRoutes(router: Router): Promise<void> {
|
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) => {
|
router.use((req, res, next) => {
|
||||||
if (['GET', 'POST'].find(m => m === req.method)) {
|
if (['GET', 'POST'].find(m => m === req.method)) {
|
||||||
if (typeof req.body === 'object' && Object.keys(req.body).length > 0) {
|
if (typeof req.body === 'object' && Object.keys(req.body).length > 0) {
|
||||||
|
Loading…
Reference in New Issue
Block a user