feat(validation): add card number validation
This commit is contained in:
27
backend/internal/card/validation.go
Normal file
27
backend/internal/card/validation.go
Normal 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
|
||||
}
|
||||
Reference in New Issue
Block a user