Skip to content

fiuskylab/go-valid

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

go-valid

A struct validator

package main

import (
  "github.com/fiuskylab/go-valid/validator"
)

type Foo struct {
  Field1 string `validator:""`
  Field2 int
}

// Rule keys MUST be lowercase
var fooRules map[string][]string = {
  "field1": [
    "required", 
    "min:2", 
    "max:10", 
    "type:string"
  ],
  "field2": [
    "required", 
    "min:2", 
    "max:10", 
    "regex:[a-zA-Z]{1,10}", 
    "type:int"
  ],
}

func main() {
  foo := Foo{
    Field1: "something",
    Field2: 20,
  }
  res, err := validator.Check(&foo, fooRules)
  if err != nil {
    // handles error
  }

  if !res.IsValid() {
    // not valid
  }
}

Releases

No releases published

Packages

 
 
 

Languages