Go如果写非SPA项目,表单功能怎么实现像laravel一样优雅

用Gin框架写传统项目,传统表单提交,如果不用js去做提交,怎么能最简单实现类laravel一样的写法

表单显示-》提交-》表单处理 验证失败-》重定向回表单页面

我想在表单页面读取old数据(即上一次表单提交的数据)重新填入表单,并且把gin的表单验证错误信息带到重定向后的表单页面, laravel中大概是这样的

{{ errors()->first() }}

<input type="text" name="username" vlaue="{{ old('username') }}">

在Go中,我尝试这样实现,但是特别痛苦,我企图在中间件中把post提交的数据放到session闪存中,重定向后又读取出来,但是map[string]string存不到session里面去,而且表单项除了字符串这样的,可能还有复选框这样的数组,搞起来特别头大,我现在是手动一项一项的存,手动一项一项的取,而且session里取出来还有断言他是个什么类型,特别的痛苦

有没有什么好方法实现这个

:) wink
最佳答案

github.com/hhandhuan/ku-bbs 参考这个项目

3周前 评论
讨论数量: 2

session转为存json,页面取的时候自己写个获取存在session的数据的函数,比如和laravel一样的errors函数,页面获取的any显示可以不断言直接使用

3周前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!