Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

25 lines
472B

  1. package form
  2. import (
  3. "net/http"
  4. . "github.com/gorilla/schema"
  5. )
  6. var schema = NewDecoder()
  7. type Validator interface {
  8. Validate() error
  9. }
  10. // Parse parsed the raw query from the URL and updates request.Form,
  11. // decode the from to the given struct with Validator implemented.
  12. func Parse(r *http.Request, form Validator) (err error) {
  13. if err = r.ParseForm(); err == nil {
  14. if err = schema.Decode(form, r.Form); err == nil {
  15. err = form.Validate()
  16. }
  17. }
  18. return
  19. }