Поразбиравшись с выводом ошибок в формах вот что придумал:
есть в каталоге \bitrix\modules\main\tools.php функция
Она отвечает за вывод ошибок. Я создал в папке \bitrix\php_interface\ файл myfunction.php куда скопировал эту функцию переименовав как User_ShowError, а также кастомизировал вызываемый ею компонент system.show_message
в файле components.php компонента form.result.new заменил вызов функции ShowError($arResult["FORM_ERRORS"]); на User_ShowError($arResult["FORM_ERRORS"]);
Я не занимался универсализацией данного решения, т.к. не было времени, но поработать тут есть над чем. Данный пример можно использовать так же и в других компонентах.
есть в каталоге \bitrix\modules\main\tools.php функция
Код |
---|
function ShowError($strError, $cls="errortext") { if($strError <> "") { $GLOBALS["APPLICATION"]->IncludeComponent( "bitrix:system.show_message", ".default", Array( "MESSAGE"=> $strError, "STYLE" => $cls, ), null, array( "HIDE_ICONS" => "Y" ) ); } } |
Она отвечает за вывод ошибок. Я создал в папке \bitrix\php_interface\ файл myfunction.php куда скопировал эту функцию переименовав как User_ShowError, а также кастомизировал вызываемый ею компонент system.show_message
в файле components.php компонента form.result.new заменил вызов функции ShowError($arResult["FORM_ERRORS"]); на User_ShowError($arResult["FORM_ERRORS"]);
Я не занимался универсализацией данного решения, т.к. не было времени, но поработать тут есть над чем. Данный пример можно использовать так же и в других компонентах.