How to programmatically know a required select list has no value on node add/edit form page? For a required field using select list widget, if there is no options, the field will show only one "-Select one-"  value on the node add/edit form page. So, how to know that by coding?
It will depend on the field type. For a list field with text/numeric values, the output of the field API function field_info_field() contains allowed values within its settings element. This field data can be fed into list_allowed_values() to retrieve either the static or dynamic list of allowed values for the field.
For example:
$field = field_info_field('field_myfield');
$values = list_allowed_values($field);
if (count($values) &gt; 0) {
  // There are allow values
}
else {
  // There are no allowed values
}