aantron / dream

Tidy, feature-complete Web framework

Home Page:https://aantron.github.io/dream/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Add `?trim:bool` param to `Dream.query`?

yawaramin opened this issue · comments

Or perhaps even just trim the values automatically?

E.g. some clients might send queries like ?q= (with no value) or ?q= (single space character as the value).

In these cases perhaps we should evaluate to None for Dream.query ~trim:true req "q"?

Would you be willing to make a PR for this, calling the option ?filter_empty?

@yawaramin did you start working on that one? I haven't checked the code yet but that looks like something that shouldn't be too difficult to implement so I would be happy to try :)

@tatchi I had not, got distracted by other things 😅 Please feel free!

@yawaramin what was the original context for this? What client was sending ?q= or ?q= , and in what circumstance? Is there some kind of inconsistency between clients in this behavior?

@aantron so I'm using the htmx library and implementing the Active Search pattern with it, by default it makes the query request even if the input field value is empty:

<input hx-trigger="keyup changed delay:500ms"...

Since then I made it slightly more sophisticated to not send the query if the input is empty:

<input hx-trigger="keyup[target.value.trim() != ''] changed delay:400ms"...

But I admit the original use case for me is not relevant any more. You would be justified to close the issue.

I'm going to close this as something very specific to a certain use case (which may not exist) and easily implementable by Dream's users when needed.