validatePersonFields now returns a PersonValidationKey instead of a hardcoded German string. resolveValidationMessage() translates the key through Paraglide so English and Spanish locale users no longer see German error text. Adds validation_last_name_required and validation_first_name_required to all three message files. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
29 lines
984 B
TypeScript
29 lines
984 B
TypeScript
import { m } from '$lib/paraglide/messages.js';
|
|
|
|
export const PERSON_TYPES = ['PERSON', 'INSTITUTION', 'GROUP', 'UNKNOWN'] as const;
|
|
export type PersonType = (typeof PERSON_TYPES)[number];
|
|
|
|
export function normalizePersonType(raw: string | undefined | null): PersonType {
|
|
return raw === 'SKIP' ? 'UNKNOWN' : ((raw ?? 'PERSON') as PersonType);
|
|
}
|
|
|
|
export type PersonValidationKey =
|
|
| 'validation_last_name_required'
|
|
| 'validation_first_name_required';
|
|
|
|
export function resolveValidationMessage(key: PersonValidationKey): string {
|
|
return key === 'validation_last_name_required'
|
|
? m.validation_last_name_required()
|
|
: m.validation_first_name_required();
|
|
}
|
|
|
|
export function validatePersonFields(
|
|
personType: string,
|
|
firstName: string | undefined | null,
|
|
lastName: string | undefined | null
|
|
): PersonValidationKey | null {
|
|
if (!lastName) return 'validation_last_name_required';
|
|
if (personType === 'PERSON' && !firstName) return 'validation_first_name_required';
|
|
return null;
|
|
}
|