html/template: How to bind nested structs from form data?
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 35/100
Direzione di ricerca
Parti dalla chiamata a c.Bind nell'esempio ed esamina come il repository gestisce il parsing dei form delle richieste e dei valori annidati. Confronta questo comportamento con le convenzioni della libreria standard per i dati dei form, quindi determina se la convenzione di denominazione prevista è supportata e se il risultato richiede documentazione o una proposta di funzionalità circoscritta.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
I'm trying to bind form data to nested structs, but I'm not sure if I'm doing it correctly. Is there a recommended way to handle form binding with nested structs using the standard library?
My Use Case
I have a form structure with nested fields that I want to bind to corresponding nested structs:
type UserInfo struct {
Name string `form:"name"`
Sex string `form:"sex"`
}
type UserGroup struct {
Men []UserInfo `form:"men"`
Women []UserInfo `form:"women"`
}
type UserResults struct {
Win UserGroup `form:"win"`
Lose UserGroup `form:"lose"`
}
func handler(w http.ResponseWriter, r *http.Request) {
form := &UserResults{}
if err := c.Bind(form); err != nil {
// error handle
}
// Values are not bound to nested structs
}
What I've Tried
I've attempted to use dot notation in the form field names:
<form method="POST">
<input type="number" name="win.men[0].name" value="john">
<input type="number" name="win.men[0].sex" value="1">
</form>
Questions
- Is there a built-in way to handle nested struct binding with the standard library?
- If yes, what is the correct naming convention for form fields?
- Is there any documentation I might have missed about this topic?
Environment
- Go version: 1.22
Any guidance or best practices would be greatly appreciated. If this functionality isn't currently supported, would it be worth considering as a feature request?
- Lingua principale
- Go
- Stelle
- 32.7k
- Fork
- 2.8k
- Merge medio
- 9h 39m
- PR unite (30g)
- 6
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di labstack/echo
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 65/100
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 68/100
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 74/100
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
Tutte le issue di labstack/echo
Issue simili
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 60/100
github/gh-aw-mcpg#13748 ·
-
agentic-workflows
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
-
needs-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
googleapis/librarian#7670 · 2 commenti ·