Validate input data in Go https://pkg.go.dev/github.com/annybs/go-validate

Aneurin Barker Snook ad75934954 add readme for each package il y a 11 mois
README.md ad75934954 add readme for each package il y a 11 mois
all.go c74486d122 add all validator, simplify error messages il y a 1 an
all_test.go 40482060ac update all validation tests il y a 1 an
chars.go 034557c12d add ExceptChars validator il y a 1 an
chars_test.go 034557c12d add ExceptChars validator il y a 1 an
email.go 40482060ac update all validation tests il y a 1 an
email_test.go db902e3c1c add validation error type, fix tests, add number tests il y a 1 an
equal.go 40482060ac update all validation tests il y a 1 an
equal_test.go 40482060ac update all validation tests il y a 1 an
error.go db902e3c1c add validation error type, fix tests, add number tests il y a 1 an
error_test.go db902e3c1c add validation error type, fix tests, add number tests il y a 1 an
go.mod d55961c207 migrate from recipeer org to annybs il y a 1 an
in.go 40482060ac update all validation tests il y a 1 an
in_test.go db902e3c1c add validation error type, fix tests, add number tests il y a 1 an
length.go 40482060ac update all validation tests il y a 1 an
length_test.go 40482060ac update all validation tests il y a 1 an
number.go db902e3c1c add validation error type, fix tests, add number tests il y a 1 an
number_test.go db902e3c1c add validation error type, fix tests, add number tests il y a 1 an
size.go 40482060ac update all validation tests il y a 1 an
size_test.go 40482060ac update all validation tests il y a 1 an
url.go a31f5d500a add url validator il y a 1 an
url_test.go a31f5d500a add url validator il y a 1 an
uuid.go 40482060ac update all validation tests il y a 1 an
uuid_test.go db902e3c1c add validation error type, fix tests, add number tests il y a 1 an

README.md

Go Validate

A suite of straightforward validation functions. You put something in, you get back nil or an error.

Error handling

You can use errors.Is() to ascertain the type of errors thrown by validation functions. This may be helpful to control side effects, particularly if using multiple validators and returning early (similar to a strongly-typed try-catch). For example:

Example

package main

import (
	"errors"
	"fmt"

	"github.com/annybs/go/validate"
)

func main() {
	v := validate.Equal("a")
	if err := v("b"); err != nil {
		if errors.Is(err, validate.ErrNotEqual) {
			fmt.Println("failed successfully")
		} else {
			fmt.Println("failed unsuccessfully")
		}
	}
}

License

See LICENSE.md