diff options
author | Julien Dessaux | 2021-09-16 10:39:47 +0200 |
---|---|---|
committer | Julien Dessaux | 2021-09-16 10:39:47 +0200 |
commit | 54d846c6c8d3b9a0466bfd6085d61f079f25f23a (patch) | |
tree | b2e83b6f232490d2996b150e3221edbb423723ff | |
parent | Added autofocus to the search field (diff) | |
download | www-54d846c6c8d3b9a0466bfd6085d61f079f25f23a.tar.gz www-54d846c6c8d3b9a0466bfd6085d61f079f25f23a.tar.bz2 www-54d846c6c8d3b9a0466bfd6085d61f079f25f23a.zip |
Updated search functionality to limit form interactions
-rw-r--r-- | search/search.go | 6 | ||||
-rw-r--r-- | search/search.html | 2 |
2 files changed, 4 insertions, 4 deletions
diff --git a/search/search.go b/search/search.go index 4b49843..3643cf5 100644 --- a/search/search.go +++ b/search/search.go @@ -102,9 +102,9 @@ type SearchPage struct { // The search handler of the webui func searchHandler(w http.ResponseWriter, r *http.Request) error { p := SearchPage{ - Query: strings.ToLower(r.FormValue("query")), + Query: r.FormValue("query"), } - if p.Query != "" { + if p.Query != "" && len(p.Query) >= 3 && len(p.Query) <= 64 { log.Printf("searching for: %s", p.Query) // First we reset the search options status p.SearchTitle = r.FormValue("searchTitle") == "true" @@ -112,7 +112,7 @@ func searchHandler(w http.ResponseWriter, r *http.Request) error { p.SearchDescription = r.FormValue("searchDescription") == "true" p.SearchContent = r.FormValue("searchContent") == "true" // Then we walk the index - words := normalizeWords(strings.Fields(p.Query)) + words := normalizeWords(strings.Fields(strings.ToLower(p.Query))) scores := make(Pairs, 0) for i := 0; i < len(jsonIndex); i++ { score := 0 diff --git a/search/search.html b/search/search.html index edd598a..e2e24f5 100644 --- a/search/search.html +++ b/search/search.html @@ -1,6 +1,6 @@ {{ define "search" }} <form action="/search/" method="post"> - <input class="fullwidth" type="text" placeholder="Enter your search terms here" name="query" value="{{ .Query }}" required autofocus><br> + <input class="fullwidth" type="text" placeholder="Enter your search terms here" name="query" value="{{ .Query }}" minlength="3" maxlength="64" required autofocus><br> <input type="checkbox" id="searchTitle" name="searchTitle" value="true"{{ if .SearchTitle }} checked{{ end }}><label for="searchTitle">Titles</label> <input type="checkbox" id="searchTags" name="searchTags" value="true"{{ if .SearchTags }} checked{{ end }}><label for="searchTags">Tags</label> <input type="checkbox" id="searchDescription" name="searchDescription" value="true"{{ if .SearchDescription }} checked{{ end }}><label for="searchDescription">Descriptions</label> |