• Модуль: lists
  • Путь к файлу: ~/bitrix/modules/lists/lib/entity/element.php
  • Класс: BitrixListsEntityElement
  • Вызов: Element::validateFields
private function validateFields()
{
	$fields = $this->listObject->getFields();
	foreach ($fields as $fieldId => $fieldData)
	{
		$fieldValue = $this->params["FIELDS"][$fieldId];

		if (
			empty($this->params["FIELDS"][$fieldId])
			&& $fieldData["IS_REQUIRED"] === "Y"
			&& !is_numeric($this->params["FIELDS"][$fieldId])
		)
		{
			$this->errorCollection->setError(
				new Error(
					"The field "".$fieldData["NAME"]."" is required",
					self::ERROR_ELEMENT_FIELD_VALUE
				)
			);
		}

		if (!$this->listObject->is_field($fieldId))
		{
			if (!is_array($fieldValue))
			{
				$fieldValue = [$fieldValue];
			}

			switch ($fieldData["TYPE"])
			{
				case "N":
					foreach($fieldValue as $key => $value)
					{
						$value = str_replace(" ", "", str_replace(",", ".", $value));
						if ($value && !is_numeric($value))
						{
							$this->errorCollection->setError(new Error(
								"Value of the "".$fieldData["NAME"]."" field is not correct",
								self::ERROR_ELEMENT_FIELD_VALUE)
							);
						}
					}
					break;
			}
		}
	}
}