fix(backend): prioritize value.value in getPrimaryOptionValue for select attribute validation

This commit is contained in:
Your Name committed 2026-10-19 09:30:04 +07:00
1 parent e7fc0e2848
commit 5686b3ea9c
1 file changed
+12 -2
+12 -2
View File
@@ -44,7 +44,7 @@ export function resolveDefinitionLocalizedField<T extends { langCode: string; la
export function getPrimaryOptionValue(value: any): string {
if (typeof value === 'string') return value;
if (typeof value === 'object' && value !== null) {
return value.th || value.en || Object.values(value)[0] || '';
return value.value || value.key || value.id || value.th || value.en || Object.values(value)[0] || '';
}
return String(value ?? '');
}
@@ -52,7 +52,17 @@ export function getPrimaryOptionValue(value: any): string {
export function getLocalizedOptionLabel(value: any, lang: string): string {
if (typeof value === 'string') return value;
if (typeof value === 'object' && value !== null) {
return value[lang] || value[lang.slice(0, 2)] || value.th || value.en || Object.values(value)[0] || '';
return (
value[`label_${lang}`] ||
value[`label_${lang.slice(0, 2)}`] ||
value[lang] ||
value[lang.slice(0, 2)] ||
value.label ||
value.th ||
value.en ||
Object.values(value)[0] ||
''
);
}
return String(value ?? '');
}