Server side form validation 2

This commit is contained in:
Muyao CHEN
2024-06-30 19:35:59 +02:00
parent 8394832428
commit 8be6ba7119
4 changed files with 52 additions and 3 deletions

View File

@ -76,6 +76,33 @@ func (m *Repository) MakeReservation(w http.ResponseWriter, r *http.Request) {
// PostMakeReservation is the make reservation page post handler
func (m *Repository) PostMakeReservation(w http.ResponseWriter, r *http.Request) {
err := r.ParseForm()
if err != nil {
log.Println(err)
return
}
reservation := models.Reservation{
FirstName: r.Form.Get("first_name"),
LastName: r.Form.Get("last_name"),
Email: r.Form.Get("email"),
Phone: r.Form.Get("phone"),
}
form := forms.New(r.PostForm)
form.Has("first_name", r)
if !form.Valid() {
data := make(map[string]interface{})
data["reservation"] = reservation
render.RenderTemplate(w, r, "make-reservation.page.tmpl", &models.TemplateData{
Data: data,
Form: form,
})
return
}
}
// Availability is the search for availability page handler