Если маску делали с помощью
InputMask, то на фронте можно добавить валидацию поля ПЕРЕД сохранение заказа
if ($(selector).inputmask("isComplete")){
//do something
}
Можно к этой валидации добавить серверную валидацию поля на событии модуля sale
OnSaleOrderBeforeSaved
Приблизительно так может выглядеть обработчик:
<?
function OnSaleOrderBeforeSaved(\Bitrix\Main\Event $event)
{
/** @var \Bitrix\Sale\Order $order */
$order = $event->getParameter("ENTITY");
if ($order->isNew() ) {//Если проверка требуется только для нового заказа, а не при его редактировании
$propertyCollection = $order->getPropertyCollection();
$phoneProperty = $propertyCollection->getPhone();
$isPhoneValid = validatePhone($phoneProperty);
if (!$isPhoneValid) {
$event->addResult(new \Bitrix\Main\EventResult(
\Bitrix\Main\EventResult::ERROR,
new \Bitrix\Sale\ResultError('Текст ошибки', 'PHONE_PROPERTY_INVALID')
));
}
}
}
надо только реализовать метод/функцию validatePhone, которая валидирует телефон так как Вам надо