Commit f9f92b4f authored by Joshua Santos's avatar Joshua Santos

Merge meta tag into parseFormField

parent 0d3a806c
......@@ -421,8 +421,7 @@ func RenderForm(obj interface{}) template.HTML {
fieldT := objT.Field(i)
label, name, fType, id, class, ignored := parseFormTag(fieldT)
required := parseMetaTag(fieldT)
label, name, fType, id, class, ignored, required := parseFormTag(fieldT)
if ignored {
continue
}
......@@ -467,7 +466,7 @@ func isValidForInput(fType string) bool {
// parseFormTag takes the stuct-tag of a StructField and parses the `form` value.
// returned are the form label, name-property, type and wether the field should be ignored.
func parseFormTag(fieldT reflect.StructField) (label, name, fType string, id string, class string, ignored bool) {
func parseFormTag(fieldT reflect.StructField) (label, name, fType string, id string, class string, ignored bool, required bool) {
tags := strings.Split(fieldT.Tag.Get("form"), ",")
label = fieldT.Name + ": "
name = fieldT.Name
......@@ -476,6 +475,15 @@ func parseFormTag(fieldT reflect.StructField) (label, name, fType string, id str
id = fieldT.Tag.Get("id")
class = fieldT.Tag.Get("class")
meta := strings.Split(fieldT.Tag.Get("meta"), ",")
required = false
switch len(meta) {
case 1:
if len(meta[0]) > 0 && meta[0] != "-" {
required = true
}
}
switch len(tags) {
case 1:
if tags[0] == "-" {
......@@ -506,20 +514,6 @@ func parseFormTag(fieldT reflect.StructField) (label, name, fType string, id str
return
}
// parseMetaTag takes the stuct-tag of a StructField and parses the `meta` value.
// returned is the boolean of whether the field is required
func parseMetaTag(fieldT reflect.StructField) (required bool) {
meta := strings.Split(fieldT.Tag.Get("meta"), ",")
required = false
switch len(meta) {
case 1:
if len(meta[0]) > 0 && meta[0] != "-" {
required = true
}
}
return
}
func isStructPtr(t reflect.Type) bool {
return t.Kind() == reflect.Ptr && t.Elem().Kind() == reflect.Struct
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment