package templates import ( "fmt" "html/template" ) type InputProps struct { Type string `json:",omitempty"` Name string Required bool `json:",omitempty"` Value string Error string `json:",omitempty"` MinLength uint `json:",omitempty"` } func (p *InputProps) Validate() bool { if p.Required && p.Value == "" { p.Error = fmt.Sprintf("%v is required", p.Name) return false } value_len := len(p.Value) if p.MinLength > 0 && int(p.MinLength) > value_len { p.Error = fmt.Sprintf("%v requires at least %v characters (currently %v characters)", p.Name, p.MinLength, value_len) return false } return true } var Template *template.Template func init() { Template = load() } func load() *template.Template { t := template.Must(template.ParseGlob("templates/*.gotmpl")) return t }