In the middle of a very complex form used in a meeting booking system, I've been asked to create the following

Field 1: Text Input

Field 2: Yes/No radio

The project BA is requesting that first field be mandatory, only if the second field is set to 'No', otherwise it should be optional.

Filling the first field will be used to help populate the meeting title. The user then gets the option to also edit that at the end of the process.

I think this is a very poor idea, but they are insisting on that order and that the first field is only mandatory base on the answer to the second question.

Given that I guess I'm asking two questions, what would be the best way to deal with a mandatory field indicator and what are the best arguments against doing this?

  • Could you please enter in more details about the fields? What are they about? Jun 8 '21 at 14:00
  • Does this answer your question? Conditional forms and disabling input fields? Jun 8 '21 at 14:03
  • @maxathousand Not exactly a duplicate, because it concerns a next field that determines whether a previous field is mandatory.
    – jazZRo
    Jun 8 '21 at 16:33

When I've been tempted to do this, it certainly is because of a misconception of my data structure. Or, for example, because I actually really want the text input to be filled even if it's not mandatory.

The reason it's bad is that a form branches from the root. Or, if you like, it falls from the top of the waterfall. What is further down does not affect what is further up. You should never be able to invalidate what was a valid choice. Even in real life when we do this, we realize we forgot to ask a key question earlier.

If you really are forced to do this, your only option is basically to move the previous field "downriver" — bump it so it is experienced as coming up next. There are various ways to do that. Scroll the user's browser up to the text field. Dynamically move the text field below the radio buttons. Put a big red highlight on the text field. Print a warning below the radio button when "yes" is selected: "With this option, you must enter your dog's name above." Or some combination thereof.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.