Сообщения можно сохранять с помощью
koa-session.
Например:
userRouter.post('/settings', async (ctx) => {
const data = ctx.request.body;
if(!data.email || !data.email.length) {
ctx.session.messages.push('Введите почту!');
ctx.redirect('/user/settings');
}
});
Выводить информацию можно вот так:
userRouter.get('/settings', async (ctx) => {
await ctx.render('settings',{message: ctx.session.messages});
});
Так же не забываем про первое посещения, когда messages ещё не существует:
app.use(async (ctx,next)=>{
if(!ctx.session.messages) ctx.session.messages = [];
await next();
});