【发布时间】:2015-07-20 03:30:58
【问题描述】:
我将一个 JSON 用户对象发布到我的 Golang 应用程序,在该应用程序中我将“req.body”解码为一个“用户”结构。
err := json.NewDecoder(req.Body).Decode(user)
//handle err if there is one
和“用户”结构:
type User struct {
Name string `json:"name,omitempty"`
Username string `json:"username,omitempty"`
Email string `json:"email,omitempty"`
Town string `json:"town,omitempty"`
//more fields here
}
虽然我在实际验证方面不需要帮助,但我想知道如何验证用户名,只有当它作为 JSON 对象的一部分包含在内时。目前,如果不包含用户名,则 User.Username 仍将存在但为空,即 ""
如何检查“用户名”是否包含在 POSTed 对象中?
【问题讨论】:
-
我不确定我是否理解,为什么不检查
if len(user.Username) == 0 { noUsername(); }? -
如果一个用户对象在没有
username的情况下发布,那么len(user.Username)仍将等于0。我想有条件地验证——也就是说,我只想验证用户名是否包含在 POST 中目的。如果不清楚,请见谅! -
所以我需要能够区分包含值为
""的用户名(即忘记了用户名)的用户对象和没有用户名的用户对象。
标签: go