diff --git a/cmd/web/handlers.go b/cmd/web/handlers.go index 071a40d..7512e3e 100644 --- a/cmd/web/handlers.go +++ b/cmd/web/handlers.go @@ -111,7 +111,7 @@ func (app *application) snippetCreatePost(w http.ResponseWriter, r *http.Request form.CheckField(validator.NotBlank(form.Title), "title", "This field cannot be blank") form.CheckField(validator.MaxChars(form.Title, 100), "title", "This field cannot be more than 100 character long") form.CheckField(validator.NotBlank(form.Content), "content", "This field cannot be blank") - form.CheckField(validator.PermittedInt(form.Expires, 1, 7, 365), "expires", "This field must equal 1, 7 and 365") + form.CheckField(validator.PermittedValue(form.Expires, 1, 7, 365), "expires", "This field must equal 1, 7 and 365") if !form.Valid() { data := app.newTemplateData(r) diff --git a/internal/validator/validator.go b/internal/validator/validator.go index 2bcb7e1..f8295ce 100644 --- a/internal/validator/validator.go +++ b/internal/validator/validator.go @@ -42,7 +42,7 @@ func MaxChars(value string, n int) bool { return utf8.RuneCountInString(value) <= n } -func PermittedInt(value int, permittedValues ...int) bool { +func PermittedValue[T comparable](value T, permittedValues ...T) bool { for i := range permittedValues { if value == permittedValues[i] { return true