From 68699d28dbf606ddeddedb12c234e52c0efff519 Mon Sep 17 00:00:00 2001 From: thinkerou Date: Fri, 20 Apr 2018 07:36:36 +0800 Subject: [PATCH] fix confilct --- binding/binding_test.go | 52 ----------------------------------------- binding/form_mapping.go | 15 +----------- 2 files changed, 1 insertion(+), 66 deletions(-) diff --git a/binding/binding_test.go b/binding/binding_test.go index 3c1d0d12..9607b920 100644 --- a/binding/binding_test.go +++ b/binding/binding_test.go @@ -29,11 +29,6 @@ type FooBarStruct struct { Bar string `msgpack:"bar" json:"bar" form:"bar" xml:"bar" binding:"required"` } -type FooDefaultBarStruct struct { - FooStruct - Bar string `msgpack:"bar" json:"bar" form:"bar,default=hello" xml:"bar" binding:"required"` -} - type FooStructUseNumber struct { Foo interface{} `json:"foo" binding:"required"` } @@ -200,18 +195,6 @@ func TestBindingForm2(t *testing.T) { "", "") } -func TestBindingFormDefaultValue(t *testing.T) { - testFormBindingDefaultValue(t, "POST", - "/", "/", - "foo=bar", "bar2=foo") -} - -func TestBindingFormDefaultValue2(t *testing.T) { - testFormBindingDefaultValue(t, "GET", - "/?foo=bar", "/?bar2=foo", - "", "") -} - func TestBindingFormForTime(t *testing.T) { testFormBindingForTime(t, "POST", "/", "/", @@ -424,12 +407,6 @@ func createFormPostRequest() *http.Request { return req } -func createDefaultFormPostRequest() *http.Request { - req, _ := http.NewRequest("POST", "/?foo=getfoo&bar=getbar", bytes.NewBufferString("foo=bar")) - req.Header.Set("Content-Type", MIMEPOSTForm) - return req -} - func createFormPostRequestFail() *http.Request { req, _ := http.NewRequest("POST", "/?map_foo=getfoo", bytes.NewBufferString("map_foo=bar")) req.Header.Set("Content-Type", MIMEPOSTForm) @@ -473,15 +450,6 @@ func TestBindingFormPost(t *testing.T) { assert.Equal(t, "foor", obj.Bar) } -func TestBindingDefaultValueFormPost(t *testing.T) { - req := createDefaultFormPostRequest() - var obj FooDefaultBarStruct - FormPost.Bind(req, &obj) - - assert.Equal(t, "bar", obj.Foo) - assert.Equal(t, "hello", obj.Bar) -} - func TestBindingFormPostFail(t *testing.T) { req := createFormPostRequestFail() var obj FooStructForMapType @@ -610,26 +578,6 @@ func testFormBinding(t *testing.T, method, path, badPath, body, badBody string) assert.Error(t, err) } -func testFormBindingDefaultValue(t *testing.T, method, path, badPath, body, badBody string) { - b := Form - assert.Equal(t, "form", b.Name()) - - obj := FooDefaultBarStruct{} - req := requestWithBody(method, path, body) - if method == "POST" { - req.Header.Add("Content-Type", MIMEPOSTForm) - } - err := b.Bind(req, &obj) - assert.NoError(t, err) - assert.Equal(t, "bar", obj.Foo) - assert.Equal(t, "hello", obj.Bar) - - obj = FooDefaultBarStruct{} - req = requestWithBody(method, badPath, badBody) - err = JSON.Bind(req, &obj) - assert.Error(t, err) -} - func TestFormBindingFail(t *testing.T) { b := Form assert.Equal(t, "form", b.Name()) diff --git a/binding/form_mapping.go b/binding/form_mapping.go index 7c680d99..90be8059 100644 --- a/binding/form_mapping.go +++ b/binding/form_mapping.go @@ -24,15 +24,6 @@ func mapForm(ptr interface{}, form map[string][]string) error { structFieldKind := structField.Kind() inputFieldName := typeField.Tag.Get("form") - inputFieldNameList := strings.Split(inputFieldName, ",") - inputFieldName = inputFieldNameList[0] - var defaultValue string - if len(inputFieldNameList) > 1 { - defaultList := strings.SplitN(inputFieldNameList[1], "=", 2) - if defaultList[0] == "default" { - defaultValue = defaultList[1] - } - } if inputFieldName == "" { inputFieldName = typeField.Name @@ -50,11 +41,7 @@ func mapForm(ptr interface{}, form map[string][]string) error { inputValue, exists := form[inputFieldName] if !exists { - if defaultValue == "" { - continue - } - inputValue = make([]string, 1) - inputValue[0] = defaultValue + continue } numElems := len(inputValue)