(узел: 1572) UnhandledPromiseRejectionWarning: ValidationError: ошибка проверки профиля: education.0.fieldsofstudy: путь `fieldsofstudy` обязателен - PullRequest
0 голосов
/ 29 августа 2018

Я пытаюсь найти основную причину этой ошибки проверки: (node:1572) UnhandledPromiseRejectionWarning: ValidationError: profile validation failed: education.0.fieldsofstudy: Path fieldsofstudy is required.
Это происходит, даже когда я изменил "fieldsofstudy" на некоторые другие имена, такие как "majors". То же сообщение об ошибке все равно вернется.

Вот мой код профиля для образования

// @route   POST api/profile/education
// @desc    Add education to profile
// @access  Private
router.post(
"/education",
passport.authenticate("jwt", { session: false }),
(req, res) => {
const { errors, isValid } = validateEducationInput(req.body);

// Check Validation
if (!isValid) {
  // Return any errors with 400 status
  return res.status(400).json(errors);
}

Profile.findOne({ user: req.user.id }).then(profile => {
  const newEdu = {
    school: req.body.school,
    degree: req.body.degree,
    fieldofstudy: req.body.fieldofstudy,
    from: req.body.from,
    to: req.body.to,
    current: req.body.current,
    description: req.body.description
  };

  // Add to exp array
  profile.education.unshift(newEdu);

  profile.save().then(profile => res.json(profile));
  });
 }
);

Вот мой код для вкладки "Образование"

data.school = !isEmpty(data.school) ? data.school : "";
data.degree = !isEmpty(data.degree) ? data.degree : "";
data.fieldofstudy = !isEmpty(data.fieldofstudy) ? data.fieldofstudy:"";
data.from = !isEmpty(data.from) ? data.from : "";

if (Validator.isEmpty(data.school)) {
  errors.school = "School field is required";
 }

if (Validator.isEmpty(data.degree)) {
    errors.degree = "Degree field is required";
 }

if (Validator.isEmpty(data.fieldofstudy)) {
   errors.fieldofstudy = "Field of study field is required";
 }

 if (Validator.isEmpty(data.from)) {
   errors.from = "From date field is required";
 }

 return {
   errors,
  isValid: isEmpty(errors)
 };
};

1 Ответ

0 голосов
/ 12 декабря 2018

Проблема в вашей модели. Когда вы создаете схему своего профиля в папке моделей, вы случайно назвали ее fieldsofstudy вместо fieldofstudy (в единственном числе). Поля в проверке должны соответствовать полям в модели.

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