diff --git a/src/Trasa/Form.hs b/src/Trasa/Form.hs
--- a/src/Trasa/Form.hs
+++ b/src/Trasa/Form.hs
@@ -40,6 +40,13 @@
     encQP (QueryParamSingle x) = x
     encQP (QueryParamList xs) = tshow xs
 
+instance FormInput QueryParam where
+  type FileType QueryParam = ()
+  getInputStrings (QueryParamSingle x) = [T.unpack x]
+  getInputStrings (QueryParamList xs) = fmap T.unpack xs
+  getInputStrings (QueryParamFlag) = []
+  getInputFile _ = Left $ commonFormError $ (NoFileFound (QueryParamSingle "No support for file uploads") :: CommonFormError QueryParam)
+
 liftParser :: (Text -> Either Text a) -> (QueryParam -> Either Text a)
 liftParser f q = case q of
   QueryParamSingle x -> f x
diff --git a/trasa-form.cabal b/trasa-form.cabal
--- a/trasa-form.cabal
+++ b/trasa-form.cabal
@@ -1,6 +1,6 @@
 cabal-version: 2.0
 name: trasa-form
-version: 0.3.1.0
+version: 0.3.2.0
 synopsis: generate forms using lucid, ditto and trasa
 description: Formlets library for trasa using ditto as its backend.
              Although trasa already has machinery for creating
