CCrmFieldMulti::CheckFields

  1. Bitrix24 API (v. 23.675.0)
  2. crm
  3. CCrmFieldMulti
  4. CheckFields
  • Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/classes/general/crm_field_multi.php
  • Класс: \CCrmFieldMulti
  • Вызов: CCrmFieldMulti::CheckFields
public function CheckFields($arFields, $bCheckStatusId = true)
{
	$aMsg = array();

	if (!is_set($arFields, 'TYPE_ID') || !is_set($arFields, 'VALUE_TYPE'))
		$aMsg[] = array('id'=>'VALUE', 'text'=>GetMessage('CRM_MF_ERR_GET_NAME'));
	else
	{
		$fieldName = self::GetEntityNameByComplex($arFields['TYPE_ID'].'_'.$arFields['VALUE_TYPE']);
		if (is_set($arFields, 'VALUE') && trim($arFields['VALUE']) == '')
			$aMsg[] = array('id'=>'VALUE', 'text'=>GetMessage('CRM_MF_ERR_VALUE', array('#FIELD_NAME#' => $fieldName)));
		if (is_set($arFields, 'VALUE') && mb_strlen($arFields['VALUE']) > 250)
			$aMsg[] = array('id'=>'VALUE', 'text'=>GetMessage('CRM_MF_ERR_VALUE_STRLEN', array('#FIELD_NAME#' => $fieldName)));
		if (is_set($arFields, 'TYPE_ID') && trim($arFields['TYPE_ID']) == '')
			$aMsg[] = array('id'=>'TYPE_ID', 'text'=>GetMessage('CRM_MF_ERR_TYPE_ID', array('#FIELD_NAME#' => $fieldName)));
		if (is_set($arFields, 'ENTITY_ID') && trim($arFields['ENTITY_ID']) == '')
			$aMsg[] = array('id'=>'ENTITY_ID', 'text'=>GetMessage('CRM_MF_ERR_ENTITY_ID', array('#FIELD_NAME#' => $fieldName)));
		if (is_set($arFields, 'ELEMENT_ID') && intval($arFields['ELEMENT_ID']) <= 0)
			$aMsg[] = array('id'=>'ELEMENT_ID', 'text'=>GetMessage('CRM_MF_ERR_ELEMENT_ID', array('#FIELD_NAME#' => $fieldName)));
		if ($arFields['TYPE_ID'] == 'EMAIL' && !check_email($arFields['VALUE']))
			$aMsg[] = array('id'=>'ELEMENT_ID', 'text'=>GetMessage('CRM_MF_ERR_EMAIL_VALUE', array('#FIELD_NAME#' => $fieldName)));

	}

	if (!empty($aMsg))
	{
		$e = new CAdminException($aMsg);
		$GLOBALS['APPLICATION']->ThrowException($e);
		return false;
	}

	return true;
}

Добавить комментарий