Using hook_form_alter() to add the "None" value in the select list of a required field
By default, the label for the first default option is automatically set to "- Select -" for a required field and "- None -" for an optional field. To force the #empty_option to also show "- None -" for a required field, assign it with something like:

"#empty_option" =&gt; t('- None -'),


This will keep everything else intact and will do exactly what you want. See class Select.