Могу ли я установить обязательное свойство в MongoDB для нескольких языков - PullRequest
0 голосов
/ 28 марта 2019

Я делаю схему для пользователей в MongoDB, и проблема, с которой я здесь сталкиваюсь, заключается в том, что веб-приложение будет многоязыковым, поэтому я делаю проверку в бэкэнде более конкретно в пользовательской схеме, поэтому требуетсяполе и уникальный я помещаю сообщение, если что-то идет не так, и это сообщение, которое я показываю пользователям, поэтому, если пользователь использует приложение на другом языке, можно изменить отсюда сообщение и показать его.

Этоэто схема, которую я использую:

const UserSchema = new Schema({
  name: {
    type: String,
    trim: true,
    required: "Name is required"
  },
  surname: {
    type: String,
    trim: true,
    required: "Surname is required"
  },
  username: {
    type: String,
    trim: true,
    unique: "Username already exist",
    required: "Username is required"
  },
  email: {
    type: String,
    trim: true,
    unique: "Email already exists",
    match: [/.+\@.+\..+/, "Please fill a valid email address"],
    required: "Email is required"
  },
  password: {
    type: String,
    required: "Password is required"
  },
  role: {
    type: String,
    trim: true,
    required: "Role is required"
  }
});

1 Ответ

0 голосов
/ 28 марта 2019

const validationMessagesTranslation = (field, lang) => {
  const validationMessages = {
    "en": {
      name: "Name is required",
      surname: "Surname is required"
    },
    "fr": {
      name: "Le nom est requis.",
      surname: "Le nom de famille est requis."
    }
  }
  return validationMessages[lang][field];
}

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...