А вы знали, что данное решение проверки полей не просто выводит красивые крыжики (кстати, их можно отключить), но и позволяет очень быстро писать кастомные обработчики проверки. Вот к примеру как я легко и просто добавил проверку обязательности города:
AddEventHandler('asd.ordercheckfields', 'OnOrderPropCheck', array('CSaleHandlers', 'OnOrderPropCheckHandler'));
class CSaleHandlers {
/*
* Проверка полей модулем asd.ordercheckfields
*/
public static function OnOrderPropCheckHandler($arProp, $val) {
if ($arProp['IS_EMAIL'] == 'Y') {
if (!self::checkEmailForDomain($val, $arEmails)) {
return 'Укажите другой e-mail. Допускаются e-mail адреса следующих почтовых сервисов:'."\n".implode("\n", $arEmails);
}
} elseif ($arProp['IS_LOCATION'] == 'Y') {
if ($arLocation = CSaleLocation::GetByID($val)) {
if (!$arLocation['CITY_ID']) {
return 'Выберите город';
}
}
}
}
}