0

Ich habe ein Formular in Angular 2 mit eckigem Material erstellt. Unten ist der Arbeitscode:Wie speichert man Daten aus einem Angular 2-Formular (mit eckigem Material) in Firebase Hosting?

<form> 
    <md-input-container> 
     <md-placeholder> 
      <md-icon>face</md-icon> Name 
     </md-placeholder> 
     <input mdInput name="name" [(ngModel)]="name" required> 
     <md-error>This field is required</md-error> 
    </md-input-container> 

    <md-input-container> 
     <md-placeholder> 
      <md-icon>email</md-icon> Email 
     </md-placeholder> 
     <input mdInput name="email" [(ngModel)]="email" required> 
     <md-error>This field is required</md-error> 
    </md-input-container> 

    <button md-raised-button color="primary" type="submit">SUBMIT</button> 
</form> 

ich diese Webseite in Firebase bewirten werde Hosting (https://firebase.google.com). Jetzt möchte ich wissen, wie ich diese zwei Benutzereingaben (Name und E-Mail) in der Datenbank speichern kann, wenn Benutzer auf Senden-Schaltfläche klicken wird. Ich bin vor 1 weitere Frage, ob ich einen Code wie diesen versuchen:

<form action="some_url" method="post" #form> 
    .... 
    .... 
<button md-raised-button color="primary" type="submit" (click)="form.submit()">SUBMIT</button> 
</form> 

Es ist das Formular abschicken, ohne wie jede Validierung zu tun, wenn Formularfelder leer sind dann auch einreicht.

Antwort

0

Nicht sicher, wie Ihr Komponentencode aussieht, müssen Sie Validierungen in der Komponentenklasse hinzufügen. Sie können mehr über Form validations in angular here. lesen.

Sobald Sie gültige Daten haben, können Sie einfach angularfire2 zum Speichern von Daten verwenden.

import { AngularFire } from 'angularfire2'; 

... 
constructor(private af: AngularFire) {} 

submit(){ 
    someOBj = {name: <value>,email: <value>} 

    // If list 
    this.af.database.list(<url>).push(someOBj); 
    // If object 
    this.af.database.object(<url>).set(someOBj); 
} 
... 

Hoffe das hilft !!

+0

Ich habe "erforderlich" in Tag. Das ist die einzige Bestätigung. In meinem Startcode, wenn ich auf "Senden" ohne Eingabe klicke, werden die Fehlermeldungen angezeigt, sodass keine Validierung in der Komponentenklasse hinzugefügt werden muss. –

+0

Ja, es werden Fehlermeldungen angezeigt, aber es wird die Übermittlungsaktion nicht stoppen, da Sie die Fehler behandeln müssen, damit die Übermittlungsaktion nicht ausgeführt wird, können Sie die Schaltfläche deaktivieren, bis alle Fehler nicht behoben sind. Überprüfen Sie den Link, den ich geteilt habe, listet alle möglichen Szenarien auf. –

Verwandte Themen