diff --git a/pkg/form.go b/pkg/form.go index 964953f..117447c 100644 --- a/pkg/form.go +++ b/pkg/form.go @@ -35,7 +35,18 @@ func (field *InputField) Scan(value interface{}) error { field.Val = "" return nil } - field.Val = fmt.Sprintf("%v", value) + switch v := value.(type) { + case time.Time: + if field.Type == "date" { + field.Val = v.Format("2006-01-02") + } else if field.Type == "time" { + field.Val = v.Format("15:04") + } else { + field.Val = v.Format(time.RFC3339) + } + default: + field.Val = fmt.Sprintf("%v", v) + } return nil }