• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/lib/checklist/internals/checklistfields.php
  • Класс: BitrixTasksCheckListInternalsCheckListFields
  • Вызов: CheckListFields::getSaveCheckFunctions
private function getSaveCheckFunctions()
{
	$checkRequired = static function($value)
	{
		return isset($value) && $value >= 0;
	};

	$checkStrictRequired = static function($value)
	{
		return isset($value) && $value > 0;
	};

	$checkInt = static function($value)
	{
		return !isset($value) || $value >= 0;
	};

	$checkStrictInt = static function($value)
	{
		return !isset($value) || $value > 0;
	};

	$checkString = static function($value)
	{
		return $value !== '';
	};

	$checkTitle = static function($value)
	{
		return $value !== '';
	};

	$checkBoolean = static function($value)
	{
		return is_bool($value);
	};

	$checkMembers = static function($value)
	{
		if (is_array($value))
		{
			foreach ($value as $data)
			{
				if (!in_array($data['TYPE'], self::MEMBER_TYPES, true))
				{
					return false;
				}
			}

			return true;
		}

		return false;
	};

	$checkAttachments = static function($value)
	{
		if (is_array($value))
		{
			foreach ($value as $id)
			{
				if (!preg_match('/(^nd+$)/', (string)$id))
				{
					return false;
				}
			}

			return true;
		}

		return false;
	};

	return [
		'REQUIRED' => $checkRequired,
		'STRICT_REQUIRED' => $checkStrictRequired,
		'INT' => $checkInt,
		'STRICT_INT' => $checkStrictInt,
		'STRING' => $checkString,
		'BOOLEAN' => $checkBoolean,
		'TITLE' => $checkTitle,
		'MEMBERS' => $checkMembers,
		'ATTACHMENTS' => $checkAttachments,
	];
}