summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRené 'Necoro' Neumann <necoro@necoro.eu>2024-02-13 20:44:23 +0100
committerRené 'Necoro' Neumann <necoro@necoro.eu>2024-02-13 20:44:23 +0100
commit27ce6f7ad305c30487db1a8ee5e4882bdc929202 (patch)
tree1c6cbcaf5e86f160a34315502cb295648e99d6d3
parent18ed79e026aa301ffed60ab86f6df7adca981ccb (diff)
downloadgosten-27ce6f7ad305c30487db1a8ee5e4882bdc929202.tar.gz
gosten-27ce6f7ad305c30487db1a8ee5e4882bdc929202.tar.bz2
gosten-27ce6f7ad305c30487db1a8ee5e4882bdc929202.zip
Error handling in forms
-rw-r--r--templ/form.tpl3
-rw-r--r--templ/login.tpl2
-rw-r--r--templ/template.go4
3 files changed, 7 insertions, 2 deletions
diff --git a/templ/form.tpl b/templ/form.tpl
index b17cb1d..deb8d58 100644
--- a/templ/form.tpl
+++ b/templ/form.tpl
@@ -9,6 +9,9 @@
{{with .Class}}class="{{.}}"{{end}}
{{range .Options}} {{.}} {{end}}
>
+ {{range errors}}
+ <p style="color:red">{{.}}</p>
+ {{end}}
{{with .Footer}}<p>{{.}}</p>{{end}}
<br />
{{end}} \ No newline at end of file
diff --git a/templ/login.tpl b/templ/login.tpl
index 40d49c9..d704365 100644
--- a/templ/login.tpl
+++ b/templ/login.tpl
@@ -1,6 +1,6 @@
{{define "body"}}
<form action="/login" method="post">
- {{inputs_for .}}
+ {{inputs_and_errors_for . .Errors}}
<button type="submit">Log In!</button>
</form>
{{end}} \ No newline at end of file
diff --git a/templ/template.go b/templ/template.go
index 20a4de7..d68c752 100644
--- a/templ/template.go
+++ b/templ/template.go
@@ -18,7 +18,9 @@ var baseTpl *template.Template
var formBuilder form.Builder
func init() {
- baseTpl = template.Must(template.ParseFS(fs, "base.tpl", "form.tpl"))
+ baseTpl = template.Must(template.New("base.tpl").
+ Funcs(form.FuncMap()).
+ ParseFS(fs, "base.tpl", "form.tpl"))
formBuilder = form.Builder{InputTemplate: baseTpl.Lookup("formItem")}
baseTpl.Funcs(formBuilder.FuncMap())
}