'sale',
'OnSaleOrderBeforeSaved',
'onBeforeOrderSaveCheckPhone',
DIR . '/events/onBeforeOrderSave.php'
);
function onBeforeOrderSaveCheckPhone(\Bitrix\Main\Event $event)
{
/** @var \Bitrix\Sale\Order $order */
$order = $event->getParameter('ENTITY');
$propertyCollection = $order->getPropertyCollection();
$phoneProp = $propertyCollection->getPhone();
$phonePropValue = $phoneProp->getValue();
$regexp = '^\+380\s?\d{2}\s?\d{3}(-\d{2}){2}$';
if (!preg_match($regexp, $phonePropValue)) {
$GLOBALS['APPLICATION']->ThrowException('Пожалуйста, введите правильно Ваш номер телефона');
return false;
}
return true;
}
Компонент bitrix:sale.order.ajax
Но заказ всеровно создается с неправильными телефонами.
Подскажите что не так
Мне с ходу видится отсутствие слешей в паттерне. Т.е. $regexp должен быть '/..../' а не '....'
Обсуждают сегодня