mirror of
https://github.com/mayswind/ezbookkeeping.git
synced 2026-05-14 06:57:35 +08:00
verify the username, email and nickname are valid when registering via OAuth 2.0
This commit is contained in:
@@ -0,0 +1,18 @@
|
||||
package validators
|
||||
|
||||
import (
|
||||
"github.com/go-playground/validator/v10"
|
||||
|
||||
"github.com/mayswind/ezbookkeeping/pkg/utils"
|
||||
)
|
||||
|
||||
// ValidNickname returns whether the given nick name is valid
|
||||
func ValidNickname(fl validator.FieldLevel) bool {
|
||||
if value, ok := fl.Field().Interface().(string); ok {
|
||||
if utils.IsValidNickName(value) {
|
||||
return true
|
||||
}
|
||||
}
|
||||
|
||||
return false
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
package validators
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/go-playground/validator/v10"
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
func TestValidNickname(t *testing.T) {
|
||||
validate := validator.New()
|
||||
err := validate.RegisterValidation("validNickname", ValidNickname)
|
||||
assert.Nil(t, err)
|
||||
|
||||
nickname := "0123456789012345678901234567890123456789012345678901234567890123"
|
||||
err = validate.Var(nickname, "validNickname")
|
||||
assert.Nil(t, err)
|
||||
}
|
||||
|
||||
func TestInvalidNickname(t *testing.T) {
|
||||
validate := validator.New()
|
||||
err := validate.RegisterValidation("validNickname", ValidNickname)
|
||||
assert.Nil(t, err)
|
||||
|
||||
nickname := "01234567890123456789012345678901234567890123456789012345678901234"
|
||||
err = validate.Var(nickname, "validNickname")
|
||||
assert.NotNil(t, err)
|
||||
}
|
||||
Reference in New Issue
Block a user