Нашел решение проблемы на форме
здесь
в файле \catalog\controller\api\customer.php
строки от 69 по 77 заменить на:
foreach ($custom_fields as $custom_field) {
if ($custom_field['location'] == 'account') {
foreach ($this->request->post['custom_field'] as $posted_key => $posted_value) {
if ((int)$posted_key == (int)$custom_field['custom_field_id']) {
if (empty($posted_value) && $custom_field['required']) {
$json['error']['custom_field' . $custom_field['custom_field_id']] = sprintf($this->language->get('error_custom_field'), $custom_field['name']);
} elseif ((html_entity_decode(trim(strtolower($custom_field['type'])), ENT_QUOTES, 'UTF-8') == 'text') && !empty($custom_field['validation']) && !filter_var($posted_value, FILTER_VALIDATE_REGEXP, array('options' => array('regexp' => $custom_field['validation'])))) {
$json['error']['custom_field' . $custom_field['custom_field_id']] = sprintf($this->language->get('error_custom_field'), $custom_field['name']);
}
}
}
}
}