Угловые значения формы для Strapi API - PullRequest
0 голосов
/ 22 сентября 2019

Я пытаюсь получить значения имени пользователя, электронной почты и пароля в форме (DOM?), Чтобы вставить их в файл TS.Причиной для этого является отправка этой информации в API для создания нового пользователя в моей базе данных.В этот момент, когда я отправляю веб-форму, она отправляет (жестко закодированные) данные ниже (пользователь strapi, user@strapi.io, strapiPassword), который теперь является пользователем в CMS, но, конечно, его следует создавать на основе формыценности.

имя пользователя: «Пользователь Strapi», электронная почта: «user@strapi.io», пароль: «strapiPassword»,

К сожалению, документация Strapi (аутентификация: https://strapi.io/documentation/3.0.0-beta.x/guides/authentication.html#registration)слишком коротко, чтобы я мог понять своими знаниями.

<div class="row">
    <div class="col-xs-12 col-md-6 col-md-offset-3">
        <form #authForm="ngForm" (ngSubmit)="onSubmit(authForm)">
            <div class="form-group">
                <label for="username">Username</label>
                <input 
                    type="username" 
                    id="username"
                    name="username"
                    class="form-control"
                    ngModel
                    required
               />
            </div>
            <div class="form-group">
                <label for="email">Email address</label>
                <input 
                    type="email" 
                    id="email"
                    name="email"
                    class="form-control"
                    ngModel
                    required
                    email 
                />
            </div>
            <div class="form-group">
                <label for="password">Password</label>
                <input 
                    type="password" 
                    id="password"
                    name="password"
                    class="form-control"
                    ngModel
                    required
                    minlength="6"
                />
            </div>
            <div>
            <button class="btn btn-primary" type="submit" [disabled]="!authForm.valid">
                {{ isLoginMode ? 'Login' : 'Register' }}
            </button>
            </div>
        </form>
    </div>
</div>

и поместить их в следующий TS;

import { Component } from '@angular/core';
import { NgForm } from '@angular/forms';
import axios from 'axios';

// Request API.
// Add your own code here to customize or restrict how the public can register new users.
axios
  .post('http://localhost:1337/auth/local/register', {
    username: 'Strapi user',
    email: 'user@strapi.io',
    password: 'strapiPassword',
  })
  .then(response => {
    // Handle success.
    console.log('Well done!');
    console.log('User profile', response.data.user);
    console.log('User token', response.data.jwt);
  })
  .catch(error => {
    // Handle error.
    console.log('An error occurred:', error);
  });

@Component({
    selector: 'app-register',
    templateUrl: './register.component.html'
})

export class RegisterComponent {
    isLoginMode = true;


    onSwitchMode() {
        this.isLoginMode = !this.isLoginMode;
    }

    onSubmit(form: NgForm) {
        const value = form.value;

    }
}
...