У меня корзина самописная, но смысл тот же:
1. Перечисляем какие поля выводить (до этого они должны быть созданы в админке в разделе магазин. Тут ты и перечисляешь, какие поля выводить, а какие проверять на заполнение.[CODE]$arResult["USER_OPT"] = array(
"WORK_COMPANY", "WORK_STREET", "UF_UNN",
"UF_OKPO", "UF_RSHET", "UF_IDBANK",
"UF_BANK", "UF_BANKADR", "UF_FACE",
"UF_WORKOSN", "UF_DOVERON",
);
//обязательные поля
$arResult["USER_OPT_REQUIRED"] = array(
"WORK_COMPANY", "WORK_STREET", "UF_UNN",
"UF_OKPO", "UF_RSHET", "UF_IDBANK",
"UF_BANK", "UF_BANKADR", "UF_FACE",
"UF_WORKOSN"
);
[/CODE]2. Проверяем на заполнение[CODE]if ($_POST["OFORM"])
{
if (intval($arResult["USER"]["UF_ISOPT"]))
{
//поля которые потому будут в обрабатываться из пост запроса
$arResult["PROCESSED_FIELDS"] = array_merge($arResult["USER_MAIN_FIELDS"], $arResult["USER_OPT"]);
$arResult["REQUIRED_FIELDS"] = array_merge($arResult["REQUIRED_FIELDS"], $arResult["USER_OPT_REQUIRED"]);
}
else
{
$arResult["PROCESSED_FIELDS"] = array_merge($arResult["USER_MAIN_FIELDS"], $arResult["USER_BEZNAL"]);
}
//провека обязательных полей
foreach ($arResult["PROCESSED_FIELDS"] as $key)
{
//Проверка на обязательные поля
$arResult["VALUES"][$key] = $_REQUEST["REGISTER"][$key];
$arResult["USER_UPD"][$key] = $arResult["USER"][$key] = $arResult["VALUES"][$key];
if (in_array($key, $arResult["REQUIRED_FIELDS"]) &&
(
trim($arResult["VALUES"][$key]) == '' ||
(is_numeric($arResult["VALUES"][$key]) && !intval($arResult["VALUES"][$key]))
)
)
{
$arResult["ERRORS"][$key] = GetMessage("REGISTER_FIELD_REQUIRED");
}
}[/CODE]