TL;DR: Set the required
attribute for at least one input of the radio group.
Setting required
for all inputs is more clear, but not necessary (unless dynamically generating radio-buttons).
To group radio buttons they must all have the same name
value. This allows only one to be selected at a time and applies required
to the whole group.
<form> Select Gender:<br> <label> <input type="radio" name="gender" value="male" required> Male </label><br> <label> <input type="radio" name="gender" value="female"> Female </label><br> <label> <input type="radio" name="gender" value="other"> Other </label><br> <input type="submit"> </form>
Also take note of:
To avoid confusion as to whether a radio button group is required or not, authors are encouraged to specify the attribute on all the radio buttons in a group. Indeed, in general, authors are encouraged to avoid having radio button groups that do not have any initially checked controls in the first place, as this is a state that the user cannot return to, and is therefore generally considered a poor user interface.