35 lines
581 B
Go
35 lines
581 B
Go
package utils
|
|
|
|
import "net/mail"
|
|
|
|
func ValidPassword(str string) error {
|
|
if len(str) < 5 {
|
|
return ErrTooShortPassword
|
|
}
|
|
if len(str) > 70 {
|
|
return ErrTooLongPassword
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func ValidEmail(str string) error {
|
|
emailAddress, err := mail.ParseAddress(str)
|
|
if err != nil || emailAddress.Address != str {
|
|
return ErrBadEmail
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func ValidUsername(str string) error {
|
|
if len(str) < 5 {
|
|
return ErrTooShortUsername
|
|
}
|
|
if len(str) > 70 {
|
|
return ErrTooLongUsername
|
|
}
|
|
if err := ValidEmail(str); err == nil {
|
|
return ErrBadUsername
|
|
}
|
|
return nil
|
|
}
|