Как локализовать сообщения об ошибках проверки формы Nuxt с помощью vee-validate

Я борюсь с локализацией проверки формы в NUXT.jS, используя vee-validate. В официальных документах vee-validate очень мало документации о NUXT. Интересно, могу ли я локализовать сообщения об ошибках с помощью vee-validate.

Все работает нормально. Плагин i18n, плагин vee-validate. Но я не могу соединить эти два вместе.

Мой Vee Validate установка

import { extend } from "vee-validate";
import { required, alpha, email } from "vee-validate/dist/rules";

extend("required", {
  ...required,
  message: "This field is required"
});

extend("alpha", {
  ...alpha,
  message: "This field must only contain alphabetic characters"
});

extend("email", {
  ...alpha,
  message: "This email field must contain a valid email address"
});

Я пробовал это из официальной документации, но пока ничего.

2 ответа

Использовать configure из vee-validate

import { extend, configure } from "vee-validate";
import { required, email, min } from "vee-validate/dist/rules";
import { i18n } from "./i18n";

configure({
  defaultMessage: (field, values) => {
    // override the field name.
    values._field_ = i18n.t(`fields.${field}`);

    return i18n.t(`validation.${values._rule_}`, values);
  }
});

extend("required", {
  ...required,
  message: "This field is required"
});

extend("alpha", {
  ...alpha,
  message: "This field must only contain alphabetic characters"
});

extend("email", {
  ...alpha,
  message: "This email field must contain a valid email address"
});

Если вам нужна динамическая локализация, я написал об этом статью. Вы можете прочитать это здесь.

Другие вопросы по тегам