Skip to main content

useIssueMessage()

function useIssueMessage(messages?): (issue) => string;

Defined in: platforms/react/i18n/hooks.ts:87

Резолвер текста замечания валидации: словарь формы → словарь активной локали по коду → встроенный английский → код. Идентичность функции меняется вместе с локалью и словарём, поэтому показанные замечания переводятся при смене языка без повторной валидации.

FormField из @reformer/cdk использует его сам; вызывайте напрямую, если рисуете замечания своим компонентом.

Parameters​

messages?​

Readonly<Record<string, IssueMessage>>

Словарь формы (defineIssueMessages). Стабильная ссылка — константа модуля, иначе резолвер будет пересоздаваться на каждый рендер.

Returns​

(issue): string;

Parameters​

issue​

ValidationIssue

Returns​

string

Example​

const messages = defineIssueMessages({ 'phone.required': 'Укажите телефон' });

function FieldIssues({ control }: { control: FormControl<string> }) {
const message = useIssueMessage(messages);
const { issues } = useFormControl(control);
return <>{issues.map((issue) => <span key={issue.code}>{message(issue)}</span>)}</>;
}