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/starts_with.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

23 lines
559 B
Go

package validator
import (
"fmt"
"strings"
)
// StartsWith returns ValidateFunc that validate whether the password is starts with one of letter
func StartsWith(letters string, customError error) ValidateFunc {
return ValidateFunc(func(password string) error {
firstLetter := []rune(password)[0]
idx := strings.IndexFunc(letters, func(r rune) bool {
return r == firstLetter
})
if idx == -1 {
if customError != nil {
return customError
}
return fmt.Errorf("the password must starts with one of: %s", letters)
}
return nil
})
}