- Модуль: 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;
}
}
}
}