HttpErrorResponse Ошибка при публикации данных с использованием углового formbuilder.group - PullRequest
0 голосов
/ 05 марта 2019

Я пытаюсь отправить данные в api из поля ввода - но я получаю эту ошибку - пользователь не допускается.

HttpResponseError - имя пользователя не допускается

если я попытаюсь закомментировать код следующим образом

user.add.component.ts

   this.addForm = this.formBuilder.group({
  name: ['', Validators.required],


 /*username: ['', Validators.required],
   email: ['', Validators.compose([
    Validators.required,
    Validators.pattern('^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+.[a-zA-Z0-9-.]+$')
  ])], */

});

Если я оставлю только одно имя ввода,затем он публикуется и работает нормально.

service.ts

createUser(us:user):Observable<user[]>{
       return this.http.post<user[]>(this.apiUrl, us)
    }

express.js api

app.post('/api/users', (req, res) => {

const schema = {
    name: Joi.string().min(3).required(),
};
const { error } = validateUser(req.body);
if (error) return res.status(400).send(error.details[0].message);
console.log('---------------', req.body.name);

const user = {
    id: users.length + 1,
    name: req.body.name,
    Username:req.body.username,
    Email:req.body.email

};

users.push(user);
res.send(user);

});

Так что я не уверен, есть ли что-то с угловым смещением formGroup или моим express.js api.

1 Ответ

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

Проблема была внутри моего express.js в методе validateUser, как упоминал Vaid. я не включил имя пользователя и адрес электронной почты в этот метод, поэтому я получил ошибку

   function validateUser(user){
    const schema = {
    name: Joi.string().min(3).required(),
    username:Joi.string().min(3).max(30).required(),
    email: Joi.string().email({ minDomainAtoms: 2 })
     };
    return result = Joi.validate(user, schema);
      }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...