/validations

gorm validations with Validate interface and github.com/asaskevich/govalidator support

Primary LanguageGo

gorm validation callback that has Validate() interface and https://github.com/asaskevich/govalidator support

Example:


type User struct {
	gorm.Model
	Name           string `valid:"required"`
	Password       string `valid:"length(6|20)"`
	SecurePassword string `valid:"numeric"`
	Email          string `valid:"email"`
	CompanyID      uint
	Company        Company
}

func (u *User) Validate() error {
	if u.Name == "invalid" {
		return errors.New("bad user name")
	}

	return nil
}

type Company struct {
	gorm.Model
	Name string
}

func (c *Company) Validate() error {
	if c.Name == "invalid" {
		return errors.New("bad company name")
	}

	return nil
}


func main() {
	db, err := gorm.Open(sqlite.Open("test.db"), &gorm.Config{})
	if err != nil {
		panic(err)
	}
	validations.RegisterCallbacks(db)
}