For the complete documentation index, see llms.txt. This page is also available as Markdown.

Валідація customerData

Загальний опис логіки валідації

Масив customerData формується у методі prepareCustomerData та проходить повну перевірку через сервіс CustomerDataValidator.

Назва поля

Тип даних

Обов'язкове

Макс. довжина

Джерело даних у Magento 2 (OrderInterface)

Особливі правила валідації та фільтрації

senderBirthday

date

Ні

50

$customer->getDob() (Тільки для зареєстрованих)

Нове поле. Попередньо нормалізується через DateTimeNormalizer. Валідується суворо за форматом d.m.Y.

senderCustomerId

string

Так

255

Внутрішній метод $this->getCustomerId($order)

Якщо порожнє або невалідне — викликає LocalizedException.

senderFirstName

string

Ні

30

Customer Repository (для клієнтів) або $billingAddress->getFirstname() (для гостей)

  1. Regex: Дозволені літери, цифри, дефіси, апострофи. Без спецсимволів по краях.

  1. Не лише цифри: Не може складатися тільки з цифр.

  1. Стоп-слова (строгий регістр): NULL, 3D SECURE, SURNAME, CARDHOLDER, UNKNOWN.

senderLastName

string

Ні

30

Customer Repository або $billingAddress->getLastname()

Аналогічно до senderFirstName (без перевірки стоп-слів).

senderMiddleName

string

Ні

30

Customer Repository або $billingAddress->getMiddlename()

Аналогічно до senderLastName.

senderEmail

email

Ні

256

$billingAddress->getEmail()

Валідується через нативний об'єкт Magento Magento\Framework\Validator\EmailAddress.

senderCountry

string

Ні

3

$billingAddress->getCountryId()

Двозначний код Alpha2 конвертується в цифровий код країни (Numeric ISO) через countryCodeProvider.

senderRegion

string

Ні

255

$billingAddress->getRegion()

Стандартна перевірка довжини.

senderCity

string

Ні

25

$billingAddress->getCity()

Стандартна перевірка довжини.

senderStreet

string

Ні

35

$billingAddress->getStreet()[0]

Особливість: Береться тільки перший рядок масиву вулиць Magento.

senderAdditionalAddress

string

Ні

255

Не заповнюється в prepareCustomerData

Задекларовано в правилах, але за замовчуванням передається пустим (і видаляється).

senderIp

ip

Ні

Внутрішній метод $this->getCustomerIp()

Валідується через нативний об'єкт Magento Magento\Framework\Validator\Ip.

senderPhone

numeric_string

Ні

20

$billingAddress->getTelephone()

Жорстке правило: Має містити тільки цифри. Будь-які інші символи (+, -, пробіли) провалять валідацію.

senderZipCode

string

Ні

50

$billingAddress->getPostcode()

Стандартна перевірка довжини.

Останнє оновлення