Веб-форма (комплексный компонент)
В настройках есть параметр отвечающий за расширенный вывод ошибок:
"USE_EXTENDED_ERRORS" => "Y",
В result_modifier.php пробегаетесь по всем полям в которых есть ошибка (в $arResult["FORM_ERRORS"] ) и меняете у соответствующих вопросов html:
В result_modifier.php компонента form.result.new
if (is_array($arResult["FORM_ERRORS"])){
foreach($arResult["FORM_ERRORS"] as $FIELD_SID => $BITRIX_ERROR_TEXT){
$arQuestion = $arResult["QUESTIONS"][$FIELD_SID];
if(strpos($arQuestion['HTML'],'class') !== false){
$arQuestion['HTML'] = str_replace('class="','class="error ',$arQuestion['HTML']);
}
else{
$arQuestion['HTML'] = str_replace('name=',' class="error" name=',$arQuestion['HTML']);
}
$arResult["QUESTIONS"][$FIELD_SID] = $arQuestion;
}
}