Wow, I had never thought of it that way.
There were few cases where I needed to have three states, such as null, false, and true.
But if I ever need it again, I now know how to do it.
![]()
Wow, I had never thought of it that way.
There were few cases where I needed to have three states, such as null, false, and true.
But if I ever need it again, I now know how to do it.
![]()
This is a common Bubble limitation with yes/no fields: a boolean can only be yes, no, or empty, but the condition system only exposes is yes and is no, so you can’t directly check for “empty” in the UI. The quickest and cleanest solution most people use is to add a small helper signal alongside the boolean, for example a second yes/no field like is_set or has_been_defined, which you flip to yes the first time the user touches the toggle. That way you can clearly distinguish three states in your conditions: not set yet (is_set = no), explicitly yes, and explicitly no. Another lightweight approach is to initialize the boolean on page load or user creation (for example default everything to no) and visually indicate “unset” using a custom state before the first interaction, but this only works if no as a default makes sense for your logic. If you want to avoid extra fields, you can also control the UI with custom states instead of reading directly from the database until the user saves, then write a real yes or no to the thing. In practice, the helper flag pattern is the most reliable and scalable way to clearly separate “no” from “not yet set” without converting everything to text.