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/contains_only.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
552 B
Go

package validator
import (
"fmt"
"strings"
)
// ContainsOnly returns a ValidateFunc that check if password contains only selected chars
func ContainsOnly(chars string, customError error) ValidateFunc {
return ValidateFunc(func(password string) error {
for _, char := range []rune(password) {
idx := strings.IndexFunc(chars, func(r rune) bool {
return r == char
})
if idx == -1 {
if customError != nil {
return customError
}
return fmt.Errorf("the password must contains only %s", chars)
}
}
return nil
})
}