mirror of
https://github.com/romdo/go-validate.git
synced 2026-02-19 08:06:40 +00:00
docs(examples): add a basic and a more complex example in examples dir
This commit is contained in:
38
examples/basic/basic.go
Normal file
38
examples/basic/basic.go
Normal file
@@ -0,0 +1,38 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"github.com/romdo/go-validate"
|
||||
)
|
||||
|
||||
type Order struct {
|
||||
Books []*Book `json:"books"`
|
||||
}
|
||||
|
||||
type Book struct {
|
||||
Title string `json:"title"`
|
||||
Author string `json:"author"`
|
||||
}
|
||||
|
||||
func (s *Book) Validate() error {
|
||||
var errs error
|
||||
if s.Title == "" {
|
||||
errs = validate.Append(errs, &validate.Error{
|
||||
Field: "Title", Msg: "is required",
|
||||
})
|
||||
}
|
||||
|
||||
// Helper to perform the same kind of check as above for Title.
|
||||
errs = validate.Append(errs, validate.RequireField("Author", s.Author))
|
||||
|
||||
return errs
|
||||
}
|
||||
|
||||
func main() {
|
||||
errs := validate.Validate(&Order{Books: []*Book{{Title: ""}}})
|
||||
|
||||
for _, err := range validate.Errors(errs) {
|
||||
fmt.Println(err.Error())
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user