feat(validation): add card number validation

This commit is contained in:
2026-09-20 22:45:41 +03:30
parent 7df7241d0f
commit c2190befb6
2 changed files with 82 additions and 0 deletions

View File

@@ -0,0 +1,27 @@
package card
import "errors"
var (
ErrCardRequired = errors.New("card number is required")
ErrCardLength = errors.New("card number must contain exactly 16 digits")
ErrCardNumeric = errors.New("card number must contain only digits")
)
func Validate(number string) error {
if number == "" {
return ErrCardRequired
}
if len(number) != 16 {
return ErrCardLength
}
for _, char := range number {
if char < '0' || char > '9' {
return ErrCardNumeric
}
}
return nil
}