···1010 "code.gitea.io/gitea/models/db"
1111 "code.gitea.io/gitea/models/user"
1212 "code.gitea.io/gitea/modules/log"
1313+ "code.gitea.io/gitea/modules/validation"
13141415 "xorm.io/builder"
1516)
···3132func checkUserEmail(ctx context.Context, logger log.Logger, _ bool) error {
3233 // We could use quirky SQL to get all users that start without a [a-zA-Z0-9], but that would mean
3334 // DB provider-specific SQL and only works _now_. So instead we iterate through all user accounts
3434- // and use the user.ValidateEmail function to be future-proof.
3535+ // and use the validation.ValidateEmail function to be future-proof.
3536 var invalidUserCount int64
3637 if err := iterateUserAccounts(ctx, func(u *user.User) error {
3738 // Only check for users, skip
···3940 return nil
4041 }
41424242- if err := user.ValidateEmail(u.Email); err != nil {
4343+ if err := validation.ValidateEmail(u.Email); err != nil {
4344 invalidUserCount++
4445 logger.Warn("User[id=%d name=%q] have not a valid e-mail: %v", u.ID, u.Name, err)
4546 }
···1010 "strings"
11111212 auth_model "code.gitea.io/gitea/models/auth"
1313- user_model "code.gitea.io/gitea/models/user"
1413 "code.gitea.io/gitea/modules/setting"
1514 "code.gitea.io/gitea/modules/structs"
1515+ "code.gitea.io/gitea/modules/validation"
1616 "code.gitea.io/gitea/modules/web/middleware"
1717 "code.gitea.io/gitea/services/context"
1818···110110// domains in the whitelist or if it doesn't match any of
111111// domains in the blocklist, if any such list is not empty.
112112func (f *RegisterForm) IsEmailDomainAllowed() bool {
113113- return user_model.IsEmailDomainAllowed(f.Email)
113113+ return validation.IsEmailDomainAllowed(f.Email)
114114}
115115116116// MustChangePasswordForm form for updating your password after account creation
···258258type AvatarForm struct {
259259 Source string
260260 Avatar *multipart.FileHeader
261261- Gravatar string `binding:"OmitEmpty;Email;MaxSize(254)"`
261261+ Gravatar string `binding:"OmitEmpty;EmailWithAllowedDomain;MaxSize(254)"`
262262 Federavatar bool
263263}
264264···270270271271// AddEmailForm form for adding new email
272272type AddEmailForm struct {
273273- Email string `binding:"Required;Email;MaxSize(254)"`
273273+ Email string `binding:"Required;EmailWithAllowedDomain;MaxSize(254)"`
274274}
275275276276// Validate validates the fields
+1-1
services/forms/user_form_auth_openid.go
···2727// SignUpOpenIDForm form for signin up with OpenID
2828type SignUpOpenIDForm struct {
2929 UserName string `binding:"Required;Username;MaxSize(40)"`
3030- Email string `binding:"Required;Email;MaxSize(254)"`
3030+ Email string `binding:"Required;EmailWithAllowedDomain;MaxSize(254)"`
3131}
32323333// Validate validates the fields