问题1:在数据库表中看不到通过Web页面创建的数据
创建过程成功执行,没有数据库连接错误,也没有页面错误和数据处理错误,并且同样的操作以前创建的数据能在数据库表中查看到,突然之间就出现这样的问题。
先检查了代码,没有跟数据库相关的改动,怀疑是docker中的mysql容器在持久化方面出了问题。
将所用的mysql容器删除,重新创建一个新的容器,重建数据库和表,问题就解决了。
问题2:表单中字段输入值不为空,校验却显示所有字段值都为空。
问题出在该表单对应的struct中字段名以小写字母开头,不能被第三方包使用,从而不能将web页面表单中的字段值解析到该struct中。
解决办法:将struct中字段名改为大写
type accountPasswordUpdateForm struct { CurrentPassword string `form:"currentPassword"` NewPassword string `form:"newPassword"` NewPasswordConfirmation string `form:"newPasswordConfirmation"` validator.Validator `form:"-"` }