# README
Go Playground Converter
go-playground-converter is formatter error response inspiration like express-validator in Node.js. go-playground-converter
builds on top of
go-playground/validator
, see more about struct references and follow this documentation, And for the new version of go-playground-converter
, you can use custom messages using gpc
struct tags, and you need the core go-playground/validator
you can access use GoValidator
.
Installation
$ go get -u github.com/restuwahyu13/go-playground-converter
Example Usage Without GPC Tags
package main
import (
"fmt"
gpc "github.com/restuwahyu13/go-playground-converter"
)
type Login struct {
Email string `validate:"required"`
Password string `validate:"required"`
}
func main() {
payload := Login{Email: "", Password: ""}
res, err := gpc.Validator(payload)
if err != nil {
panic(err)
}
fmt.Println(res) // if not errors, validator return nil value
}
// {
// "errors": [
// {
// "msg": "Email is a required field",
// "param": "Email",
// "tag": "required"
// },
// {
// "msg": "Password is a required field",
// "param": "Password",
// "tag": "required"
// }
// ]
// }
Example Usage With GPC Tags
package main
import (
"fmt"
gpc "github.com/restuwahyu13/go-playground-converter"
)
type Login struct {
Email string `validate:"required" gpc:"required=Email tidak boleh kosong"`
Password string `validate:"required" gpc:"required=Password tidak boleh kosong"`
}
func main() {
payload := Login{Email: "", Password: ""}
res, err := gpc.Validator(payload)
if err != nil {
panic(err)
}
fmt.Println(res) // if not errors, validator return nil value
}
// {
// "errors": [
// {
// "msg": "Email tidak boleh kosong",
// "param": "Email",
// "tag": "required"
// },
// {
// "msg": "Password tidak boleh kosong",
// "param": "Password",
// "tag": "required"
// }
// ]
// }
Testing
-
Testing Via Local
go test .
-
Testing Via Docker
docker build -t go-playground-converter --compress . && docker run go-playground-converter go test --cover -v --failfast .
Bugs
For information on bugs related to package libraries, please visit here
Contributing
Want to make Go Playground Converter more perfect ? Let's contribute and follow the contribution guide.