func RegisterHandler(ctx *middleware.Context, formErr binding.Errors, user model.UserRegisterForm) { switch ctx.R.Method { case "POST": ctx.JoinFormErrors(formErr) if !ctx.HasError() { dbUser := model.User{Username: user.Username, Password: user.Password, Email: user.Email} if exist, err := dbUser.ExistUsername(); exist { PanicIf(err) ctx.AddFieldError("username", Translate(ctx.S.Get("Lang").(string), "message.error.already.exists")) } if exist, err := dbUser.ExistEmail(); exist { PanicIf(err) ctx.AddFieldError("email", Translate(ctx.S.Get("Lang").(string), "message.error.already.exists")) } if !ctx.HasError() { dbUser.Password = Md5(user.Password) err := dbUser.Insert() PanicIf(err) ctx.AddMessage(Translate(ctx.S.Get("Lang").(string), "message.register.success")) } else { ctx.Set("User", user) } ctx.HTML(200, "user/register", ctx) } else { ctx.Set("User", user) ctx.HTML(200, "user/register", ctx) } default: ctx.HTML(200, "user/register", ctx) } }