This repository has been archived on 2025-10-08. You can view files and clone it, but cannot push or open issues or pull requests.
miniauthold/vendor/github.com/go-passwd/validator/unique.go
kekskurse 7b5df08e45
All checks were successful
ci/woodpecker/push/test Pipeline was successful
ci/woodpecker/push/playwright Pipeline was successful
ci/woodpecker/push/deplyoment Pipeline was successful
chore: password validation
2025-03-13 21:12:16 +01:00

24 lines
543 B
Go

package validator
import (
"errors"
"strings"
)
// Unique returns ValidateFunc that validate whether the password has only unique chars
func Unique(customError error) ValidateFunc {
return ValidateFunc(func(password string) error {
runes := []rune(password)
for idx := range runes {
if strings.LastIndexFunc(password, func(r rune) bool {
return r == runes[idx]
}) != idx {
if customError != nil {
return customError
}
return errors.New("the password must contains unique chars")
}
}
return nil
})
}