+ // Disallow empty values except for the number zero.
+ // TODO: create a utility for this since it's needed in many places
+ // if (array_key_exists('required', $def) && CRM_Utils_System::isNull($value)) {
+ if (array_key_exists('required', $def) && empty($value) && $value !== '0' && $value !== 0) {