return field name with error in BuildQueryString
diff --git a/params.go b/params.go
index c01c9e5..c492ec0 100644
--- a/params.go
+++ b/params.go
@@ -87,7 +87,7 @@
 					// Otherwise, the field is not set.
 					if len(tags) == 2 && tags[1] == "required" {
 						// And the field is required. Return an error.
-						return nil, fmt.Errorf("Required query parameter not set.")
+						return nil, fmt.Errorf("Required query parameter [%s] not set.", f.Name)
 					}
 				}
 			}
diff --git a/params_test.go b/params_test.go
index 112850d..03eaefc 100644
--- a/params_test.go
+++ b/params_test.go
@@ -33,10 +33,27 @@
 
 	opts := Opts{J: 2, R: "red"}
 
-	actual, err := BuildQueryString(opts)
+	actual, err := BuildQueryString(&opts)
 	if err != nil {
 		t.Errorf("Error building query string: %v", err)
 	}
 
 	th.CheckDeepEquals(t, actual, expected)
 }
+
+func TestBuildQueryStringWithoutRequiredFieldSet(t *testing.T) {
+	type Opts struct {
+		J int    `q:"j"`
+		R string `q:"r,required"`
+		C bool
+	}
+
+	opts := Opts{J: 2, C: true}
+
+	_, err := BuildQueryString(&opts)
+	if err == nil {
+		t.Error("Unexpected result: There should be an error thrown when a required field isn't set.")
+	}
+
+	t.Log(err)
+}