如何检查URL参数是否存在

时间:2019-08-01 14:20:53

标签: go gorilla mux

在进行某种类型的验证之前,我必须检查URL参数是否存在。我该怎么办?

如果参数像这样变成空:http://myurl.com?myparam=则myParam ==“”为true,但是如果url以这种方式http://myurl.com(不带参数)则myParam ==“”也为true ...所以我需要一些方法来验证参数是否出现在网址中

# example
# http://myurl.com?myparam=johndoe

// validate if param exists, here i dont know how to do
#
#


// then do some validation
func validateMyParamIsNotNumber(r *http.Request, resultMessage *string) {
    myParam := r.FormValue("myparam")

    if myParam != ""  && isNotNumber(product) {
        *resultMessage = "The myparam filter must be a number"
        return
    }
}

1 个答案:

答案 0 :(得分:5)

使用Request.Form检查map index with multiple assignment中密钥的存在。在检查地图之前先解析表单。

func validateMyParamIsNotNumber(r *http.Request, resultMessage *string) {
    r.ParseForm()
    _, hasMyParam := r.Form["myparam"]
    ...