• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/lib/checklist/checklistfacade.php
  • Класс: BitrixTasksCheckListCheckListFacade
  • Вызов: CheckListFacade::checkFields
static function checkFields(array $fields, array $parameters = [])
{
	$checkResult = new Result();

	if (!array_key_exists('TITLE', $fields) && $parameters['MODE'] === 'add')
	{
		$checkResult = static::addErrorToResult($checkResult, 'EMPTY_TITLE');
	}
	else if (empty($fields) && $parameters['MODE'] === 'update')
	{
		$checkResult = static::addErrorToResult($checkResult, 'EMPTY_FIELDS');
	}

	$allowedFields = ['TITLE', 'PARENT_ID', 'SORT_INDEX', 'IS_COMPLETE', 'IS_IMPORTANT', 'MEMBERS', 'ATTACHMENTS'];
	foreach (array_keys($fields) as $fieldName)
	{
		if (!in_array($fieldName, $allowedFields, true))
		{
			$checkResult = static::addErrorToResult($checkResult, 'NOT_ALLOWED_FIELD', $fieldName);
		}
	}

	if (array_key_exists('MEMBERS', $fields))
	{
		if (!$fields['MEMBERS'])
		{
			$fields['MEMBERS'] = [];
		}

		foreach ($fields['MEMBERS'] as $id => $data)
		{
			$type = $data;

			if (is_array($data))
			{
				$type = $data['TYPE'];
			}

			if (!in_array($type, [self::MEMBER_ACCOMPLICE, self::MEMBER_AUDITOR], true))
			{
				$checkResult = static::addErrorToResult($checkResult, 'WRONG_MEMBER_TYPE', $type);
			}
		}
	}

	return $checkResult;
}