diff options
Diffstat (limited to 'routers/user/user.go')
-rw-r--r-- | routers/user/user.go | 23 |
1 files changed, 19 insertions, 4 deletions
diff --git a/routers/user/user.go b/routers/user/user.go index f9dc07f2..24c22a4f 100644 --- a/routers/user/user.go +++ b/routers/user/user.go @@ -10,8 +10,10 @@ import ( "github.com/martini-contrib/render" - //"github.com/gogits/gogs/utils/log" + "github.com/gogits/validation" + "github.com/gogits/gogs/models" + "github.com/gogits/gogs/utils/log" ) func SignIn(r render.Render) { @@ -26,12 +28,25 @@ func SignUp(req *http.Request, r render.Render) { return } - // TODO: validate form. - err := models.RegisterUser(&models.User{ + u := &models.User{ Name: req.FormValue("username"), Email: req.FormValue("email"), Passwd: req.FormValue("passwd"), - }) + } + valid := validation.Validation{} + ok, err := valid.Valid(u) + if err != nil { + log.Error("user.SignUp -> valid user: %v", err) + return + } + if !ok { + for _, err := range valid.Errors { + log.Warn("user.SignUp -> valid user: %v", err) + } + return + } + + err = models.RegisterUser(u) r.HTML(403, "status/403", map[string]interface{}{ "Title": fmt.Sprintf("%v", err), }) |