檢查用戶名和郵箱是否被佔用

This commit is contained in:
2023-05-27 09:04:52 +08:00
parent a5635f3540
commit afec36dffc
2 changed files with 22 additions and 7 deletions

View File

@@ -44,6 +44,21 @@ func UsersPost(w http.ResponseWriter, r *http.Request) {
Password: fmt.Sprintf("%x", md5.Sum([]byte(form["password"].(string)+slat))),
Slat: slat,
}
// 檢查郵箱是否已經存在, 郵箱不能重複
var count int64
configs.ORMDB().Model(&models.User{}).Where("email = ?", user.Email).Count(&count)
if count > 0 {
w.WriteHeader(http.StatusBadRequest)
w.Write([]byte("400 - email already exists"))
return
}
// 檢查用戶名是否已經存在, 用戶名不能重複
configs.ORMDB().Model(&models.User{}).Where("name = ?", user.Name).Count(&count)
if count > 0 {
w.WriteHeader(http.StatusBadRequest)
w.Write([]byte("400 - name already exists"))
return
}
// 寫入數據庫
if err := configs.ORMDB().Create(&user).Error; err != nil {
w.WriteHeader(http.StatusBadRequest)