getFormService();
$html = $formHelper->getSpecificFieldHtml($field, $value, $viewDatas);
$error = validation_show_error($field);
return $html . "{$error}";
}
if (! function_exists('render_field_label')) {
function render_field_label(string $field, array $viewDatas): string
{
$classPath = $viewDatas['class_path'];
$baseLabel = lang("{$classPath}.label.{$field}");
// 1. ServiceForm에서 동적 처리(예: 도움말 아이콘, 별도 클래스)를 가져옵니다.
$service = $viewDatas['service'] ?? null;
if ($service === null) {
return __FUNCTION__ . "에서 오류발생: ViewDatas에 'service'가 정의되지 않았습니다.";
}
$formHelper = $service->getFormHelper();
$dynamicHtml = $formHelper->getSpecificLabelAdornment($field);
// 2. 공통 로직: 필수 필드 표시 (*)
// (ServiceForm이 해당 필드가 필수인지 알려줘야 함)
$isRequired = $formHelper->isFieldRequired($field);
$requiredStar = $isRequired ? '*' : '';
return "{$baseLabel}{$requiredStar}{$dynamicHtml}";
}
}
}