From 5c859466efde26344c882c20301e839f2d65da9d Mon Sep 17 00:00:00 2001 From: miraclesu Date: Sun, 11 Aug 2013 22:20:05 +0800 Subject: [PATCH] ignore struct field if form tag value is '-' --- utils.go | 2 ++ utils_test.go | 6 ++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/utils.go b/utils.go index 0afcb4ba..df23cb8e 100644 --- a/utils.go +++ b/utils.go @@ -195,6 +195,8 @@ func ParseForm(form url.Values, obj interface{}) error { var tag string if len(tags) == 0 || len(tags[0]) == 0 { tag = fieldT.Name + } else if tags[0] == "-" { + continue } else { tag = tags[0] } diff --git a/utils_test.go b/utils_test.go index 994846fe..6075b445 100644 --- a/utils_test.go +++ b/utils_test.go @@ -104,8 +104,8 @@ func TestInSlice(t *testing.T) { func TestParseForm(t *testing.T) { type user struct { - Id int - tag string `form:tag` + Id int `form:"-"` + tag string `form:"tag"` Name interface{} `form:"username"` Age int `form:"age,text"` Email string @@ -114,6 +114,8 @@ func TestParseForm(t *testing.T) { u := user{} form := url.Values{ + "Id": []string{"1"}, + "-": []string{"1"}, "tag": []string{"no"}, "username": []string{"test"}, "age": []string{"40"},