Validator#
Generates a Validate() error method. Currently it checks that non-empty string fields are not left as their zero value — other types (numbers, bools, etc.) are not validated. Enabled by default; disable with -validate=false.
gcraft generate -type User -src ./user.gotype User struct {
Name string
Email string
Age int
}Generates:
func (v User) Validate() error {
if v.Name == "" {
return fmt.Errorf("User.Name is required")
}
if v.Email == "" {
return fmt.Errorf("User.Email is required")
}
return nil
}if err := user.Validate(); err != nil {
log.Fatal(err)
}