'how can I validate and process html form (taking in inpute from the ui login interface) using fiber framework golang programming language
please help me to take input with fiber golang framework
<form action="/" method="POST" novalidate>
<div>
<p><label>Your email:</label></p>
<p><input type="email" name="email"></p>
</div>
<div>
<p><label>Your message:</label></p>
<p><textarea name="content"></textarea></p>
</div>
<div>
<input type="submit" value="Send message">
</div>
</form> ```
Solution 1:[1]
You can use c.FormValue for simple forms, and keep in mind that the return value is always a string. So if you want to send integers as well you will have to manually convert them to integers in handlers. for more complex forms like sending files you can use c.MultipartForm.
func main() {
// create new fiber instance and use across whole app
app := fiber.New()
// middleware to allow all clients to communicate using http and allow cors
app.Use(cors.New())
// homepage
app.Get("/", func(c *fiber.Ctx) error {
// rendering the "index" template with content passing
return c.Render("index", fiber.Map{})
})
// app.Post because method="POST"
// "/" because action="/"
app.Post("/", handleFormUpload)
// start dev server on port 4000
log.Fatal(app.Listen(":4000"))
}
func handleFormUpload(c *fiber.Ctx) error {
email := c.FormValue("email")
content := c.FormValue("content")
fmt.Println(email, content)
return c.JSON(fiber.Map{"status": 201, "message": "Created!"})
}
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | Eziz Durdyyev |
