add email check

This commit is contained in:
Tan Jiang 2016-04-26 11:18:34 +08:00
parent 57081792de
commit 867b4bc352

View File

@ -17,7 +17,7 @@ package dao
import (
"errors"
// "regexp"
"regexp"
"time"
"github.com/vmware/harbor/models"
@ -74,8 +74,13 @@ func validate(user models.User) error {
return errors.New("Username already exists.")
}
if exist, _ := UserExists(models.User{Email: user.Email}, "email"); len(user.Email) > 0 && exist {
return errors.New("Email already exists.")
if len(user.Email) > 0 {
if m, _ := regexp.MatchString(`^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$`, user.Email); !m {
return errors.New("Email with illegal format.")
}
if exist, _ := UserExists(models.User{Email: user.Email}, "email"); exist {
return errors.New("Email already exists.")
}
}
if isIllegalLength(user.Realname, 0, 20) {