Server Side form validation 3

This commit is contained in:
Muyao CHEN
2024-07-01 13:37:03 +02:00
parent 8be6ba7119
commit 87dfd26268
3 changed files with 46 additions and 10 deletions

View File

@ -69,8 +69,16 @@ func (m *Repository) Majors(w http.ResponseWriter, r *http.Request) {
// MakeReservation is the make reservation page handler
func (m *Repository) MakeReservation(w http.ResponseWriter, r *http.Request) {
// For the first time render emptyReservation so that this object is
// filled with the info when sent back.
var emptyReservation models.Reservation
data := make(map[string]interface{})
data["reservation"] = emptyReservation
render.RenderTemplate(w, r, "make-reservation.page.tmpl", &models.TemplateData{
Form: forms.New(nil),
Data: data,
})
}
@ -91,7 +99,8 @@ func (m *Repository) PostMakeReservation(w http.ResponseWriter, r *http.Request)
form := forms.New(r.PostForm)
form.Has("first_name", r)
form.Required("first_name", "last_name", "email")
form.MinLength("first_name", 2, r)
if !form.Valid() {
data := make(map[string]interface{})