We fondly call this feature a bug ...
Edit the /includes/functions/functions_lookup.php and around line 419 change the code to read:
PHP Code:
// text required validation
if (ereg('^txt_', $option)) {
// $check_attributes = $db->Execute("select attributes_display_only, attributes_required from " . TABLE_PRODUCTS_ATTRIBUTES . " where products_id='" . (int)$product_id . "' and options_id='" . ereg_replace('txt_', '', (int)$option) . "' and options_values_id='0'");
$check_attributes = $db->Execute("select attributes_display_only, attributes_required from " . TABLE_PRODUCTS_ATTRIBUTES . " where products_id='" . (int)$product_id . "' and options_id='" . ereg_replace('txt_', '', $option) . "' and options_values_id='0'");
// text cannot be blank
if ($check_attributes->fields['attributes_required'] == '1' and empty($value)) {
$check_valid = false;
}
}
See if that works for you ...