The ProblemNearly every application needs the users to enter data in forms for further processing.
Problems arise, if a user should enter data he/she does not know yet. Databases therefore support the null-value that means unknown.
I had the case where people had to enter data for a textbox, but they didn't have the information, so they entered "???". If they would have left it blank they only had one query to determine what entries have to be corrected - one without symbols that could be wildcards.
So how can data be marked as unknown?
CheckboxTake as example the checkbox-control. It can have either the selected or non-selected state.
If you use it to indicate that an action has already happened, you won't have a problem. But what happens, if you want to ask for an option? You need to define one default-value. So what happens, if the user, who is answering the questionnaire, does not know an answer? The control cannot be marked as undefined.
TextboxAnother example can be the textbox-control. A user could enter a name of a person and there is a field for a middle name.
What does it mean, if the field is empty? Does the person not have a middle name? Or is it yet unknown?
If you use a textbox on a form and want to save it, how do you distinguish these cases? The input will always be an empty string.