--- title: Mark Required Fields As Such order: 61 layout: page --- [[mark-required-fields-as-such]] = Mark required fields as such Don’t make your users guess which fields in your form are required. Mark them as such: [source,java] .... TextField tfFirstName = new TextField("First name"); tfFirstName.setRequired(true); tfFirstName.setRequiredError("First name must be filled in!"); .... Required fields get a small *asterisk* after the caption (or after the field itself, if it doesn’t have a caption), which is quite universally understood to mean “required”. Of course, it certainly doesn’t hurt to have “footnote” somewhere in your form that explains it anyway. image:img/reqfield.png[Required field with asterisk] Marking a field as required also implicitly adds a non-empty validator to the field, preventing the form from being submitted unless a value has been entered. The error message associated with that validator can be set with the *setRequiredError()* method: [source,java] .... TextField tfFirstName = new TextField("First name"); tfFirstName.setRequired(true); tfFirstName.setRequiredError("First name must be filled in!"); .... image:img/errortooltip.png[Required field with error] Think carefully about which fields really are required, though. For instance, asking unnecessary questions in a sign-up form has a tendency to make people either cancel signing up, or enter nonsense information in fields they deem nonessential. Only mark as required fields that you really need the user to fill in, right there and then.