Block a user
Replace deprecated (archived) home-brewed packages
docs: explain what distinguishes validate (+ comment audit)
Now that Min/MaxLength count runes, we are lacking a byte length validator, which may still be useful.
docs: explain what distinguishes validate (+ comment audit)
The original intention was to measure text length. Does this make it more correct to measure runes rather than bytes?
Docs: explain what distinguishes validate from other packages
Before starting this task, analyse all code and check whether code comments are correct/useful and update as needed.
add CI workflow running go vet and go test
Email() uses an unauditable mega-regexp; prefer net/mail
email: validate with net/mail.ParseAddress
add Required, Prefix, Suffix, Contains, Match validators
All() is fail-fast; no all-errors-at-once aggregation
add Collect: run every validator and join all errors