about summary refs log tree commit diff stats
path: root/attr
diff options
context:
space:
mode:
authorMarkus Wüstenberg2020-09-24 21:17:15 +0200
committerGitHub2020-09-24 21:17:15 +0200
commit5929ba8c41859ca9ea4117f42525e7be370ff55f (patch)
tree664af458ca56c8715f2fcbab6b84ddaf6a9a058f /attr
parent4c109f9f1d4db4733d267ece171a533521029bdb (diff)
downloadgomponents-5929ba8c41859ca9ea4117f42525e7be370ff55f.tar.lz
gomponents-5929ba8c41859ca9ea4117f42525e7be370ff55f.tar.zst
gomponents-5929ba8c41859ca9ea4117f42525e7be370ff55f.zip
Add convenience helpers for form elements (#19)
Diffstat (limited to 'attr')
-rw-r--r--attr/forms.go15
-rw-r--r--attr/forms_test.go16
2 files changed, 31 insertions, 0 deletions
diff --git a/attr/forms.go b/attr/forms.go
new file mode 100644
index 0000000..b3eec05
--- /dev/null
+++ b/attr/forms.go
@@ -0,0 +1,15 @@
+package attr
+
+import (
+	g "github.com/maragudk/gomponents"
+)
+
+// Placeholder returns an attribute with name "placeholder" and the given value.
+func Placeholder(v string) g.Node {
+	return g.Attr("placeholder", v)
+}
+
+// Required returns an attribute with name "required".
+func Required() g.Node {
+	return g.Attr("required")
+}
diff --git a/attr/forms_test.go b/attr/forms_test.go
new file mode 100644
index 0000000..3ff077b
--- /dev/null
+++ b/attr/forms_test.go
@@ -0,0 +1,16 @@
+package attr_test
+
+import (
+	"testing"
+
+	g "github.com/maragudk/gomponents"
+	"github.com/maragudk/gomponents/assert"
+	"github.com/maragudk/gomponents/attr"
+)
+
+func TestForms(t *testing.T) {
+	t.Run("adds placeholder and required attributes", func(t *testing.T) {
+		e := g.El("input", attr.Placeholder("hat"), attr.Required())
+		assert.Equal(t, `<input placeholder="hat" required/>`, e)
+	})
+}