← Все интеграции Битрикс24 CRM

Валидация полей CRM

Серверная и клиентская проверка полей сделок, компаний и лидов.

Реализация строгой валидации обязательных и зависимых полей: блокировка сохранения при ошибках, подсказки пользователю, проверка ИНН/телефона/email и бизнес-правил.

Пример кода

Реализация

PHP
<?php

use Bitrix\Main\EventManager;

EventManager::getInstance()->addEventHandler(
    'crm',
    'OnBeforeCrmCompanyUpdate',
    static function (array &$fields) {
        if (isset($fields['UF_INN']) && $fields['UF_INN'] !== '') {
            $inn = preg_replace('/\D+/', '', (string)$fields['UF_INN']);
            if (!in_array(strlen($inn), [10, 12], true)) {
                $GLOBALS['APPLICATION']->ThrowException('ИНН должен содержать 10 или 12 цифр.');
                return false;
            }
            $fields['UF_INN'] = $inn;
        }

        if (empty($fields['PHONE']) && empty($fields['EMAIL'])) {
            $GLOBALS['APPLICATION']->ThrowException('Укажите телефон или email компании.');
            return false;
        }

        return true;
    }
);